1 地区
2、Unicode
在 ES6 以后, JS 的数组串以 16 位数组代码( UCS-2 )为依据。每一 16 位字符串都是两个
吉铁( code unit ),用作则表示两个数组。数组串大部份的特性与方式(像 length 特性与
charAt() 方式)都是如前所述 16 位的吉铁。总之, 16 位曾不足以可容任何人数组,不过虽然
Unicode 导入了扩充数组集,这就无须绰绰有余了。
UTF-16 URL点
Unicode 的明晰最终目标是给当今世界上大部份的数组提供更多自上而下惟一URL,而 16 位的数组宽度管制已
无法满足用户此种市场需求。那些亚洲地区惟一URL被称作URL点( code points ),从 0 已经开始的简
单位数。代码点是如你想像的数组URL那般,用两个位数来代表者两个数组。数组代码明确要求将
URL点切换为外部完全一致的吉铁,而对 UTF-16 而言,URL点能由数个吉铁共同组成。
在 UTF-16 中的第两个 216 URL点则表示一般而言 16 位吉铁,那个覆盖范围被称作多词汇基本上正方形(
Basic Multilingual Plane , BMP )。任何人远远超过该覆盖范围的URL点都无法用一般而言 16 位吉铁表
示,而要会落到扩充正方形( supplementary planes )内。 UTF-16 导入了全权对(
surrogate pairs )来解决那个问题,允许使用两个 16 位吉铁来则表示一般而言URL点。这意味着
数组串内的任意一般而言数组都能用两个吉铁(共 16 位)或两个吉铁(共 32 位)来则表示,前
者对应基本上正方形数组,而后者对应扩充正方形数组
ES6 为全面支持 UTF-16 而新增的方式之一是 codePointAt() ,它能在给定数组串中按位置提取 Unicode URL点。
3、模板字面量
模板字面量是 ES6 的一项重要补充,允许你创建领域专用词汇( DSL )让数组串的创建更容易。能将变量直接嵌入到模板字面量中,意味着开发者在组合长数组串与变量时,有了一种
比数组串拼接更为安全的工具。
内置的多行数组串支持,是普通 JS 数组串绝对无法做到的,这使得模板字面量成为凌驾于前
者之上的有用升级。尽管在模板字面量中允许直接使用换行,你依然能使用 \n 或其它字
符转义字符串。
模板标签是创建 DSL 最重要的部分。标签是接收模板字面量片段作为参数的函数,你能使
用它们来返回合适的数组串。那些数据包括了字面量、等价的原始值以及替换位的值,标签
使用那些信息片段来决定输出。
4、函数