String 类型

2018-06-16 15:00 更新

字符串类型是所有有限的零个或多个 16 位无符号整数值(“元素”)的有序序列。在运行的 ECMAScript 程序中,字符串类型常被用于表示文本数据,此时字符串中的每个元素都被视为一个代码点(参看 章节 6)。 每个元素都被认为占有此序列中的一个位置。用非负数值索引这些位置。任何时候,第一个元素(若存在)在位置 0,下一个元素(若存在)在位置 1,依此类推。字符串的长度即其中元素的个数(比如,16 位值)。空字符串长度为零,因而不包含任何元素。


若一个字符串包含实际的文本数据,每个元素都被认为是一个单独的 UTF-16 单元。无论这是不是 String 实际的存储格式,String 中的字符都被当作表示为 UTF-16 来计数。除非特别声明,作用在字符串上的所有操作都视它们为无差别的 16 位无符号整数;这些操作不保证结果字符串仍为常规化的形式,也不保证语言敏感结果。


这些决议背后的原理是尽可能地保持字符串的实现简单而高效。这意味着,在运行中的程序读到从外部进入执行环境的文本数据(即,用户输入,从文件读取文本 ,或从网络上接收文本,等等)之前,它们已被转为 Unicode 常规化形式 C。通常情况下,这个转化在进入的文本被从其原始字符编码转为 Unicode 的同时进行(且强制去除头部附加信息)。因此,建议 ECMAScript 程序源代码为常规化形式 C,(如果保证源代码文本是常规化的)保证字符串常量是常规化的,即便它们不包含任何 Unicode 转义序列。


以上内容是否对您有帮助:
在线笔记
App下载
App下载

扫描二维码

下载编程狮App

公众号
微信公众号

编程狮公众号