首页 > 编程知识 正文

es6语法新特性,jsp使用es6字符串模板

时间:2023-05-03 09:16:44 阅读:116174 作者:1862

at()

ES5为字符串对象提供charAt方法,并返回字符串指定位置的字符。 此方法无法识别大于0xFFFF的字符。

在' ABC'.charAt(0)/) a ' '吉'.charAt '上的代码中,charAt方法返回UTF-16编码的第一个字节,实际上不能显示。 使用字符串实例的at方法,可以识别Unicode编号大于0xFFFF的字符,并返回正确的字符。

' ABC'.at(0)/(a ' '吉'.at )0)/(吉)。

normalize()

许多欧洲语言都有语调符号和重音符号。 为了表示它们,Unicode有两种方法。 一种是直接提供带重音符号的文字。 例如,() (01d1)。 另一种是提供“组合符号”(combining character )。 这是原始字符和重音符号的合成,将两个字符合成为一个字符,如o(u004f )或() (u030c )合成) ) 004f ) _030c。

这两种表现方法在视觉上和意义上都是等价的,但JavaScript无法识别。

' _ 01d1'==' _ 004 fu030c '/false ' _ 01d1'.length//1' _ 004 f_ 030 c '.length//2上述代码来自javasth

ES6提供了字符串实例的normalize ) )方法,以将字符的不同表示方式统一为相同的形式。 这称为Unicode规范化。

“ u01d 1”. normalize (==((u004f (u030c ).normalize ) )//true normalize方法可以接受指定normalize的参数。 参数的四个选项值如下:

返回NFC、缺省参数、“标准等效合成”(normalizationformcanonicalcomposition )和多个简单字符的合成字符。 “标准等价”是指视觉意义上的等价。

NFD是指以“标准等效分解”(normalizationformcanonicaldecomposition ),即标准等效为前提,返回合成字符分解的多个简单字符。

NFKC表示“与等效合成的兼容性”(normalizationformcompatibilitycomposition ),并返回合成字符。 “互换等价”是指“囍”和“高兴”等在意义上等价,但在视觉上不等价。 (这只是个例子,normalize法不能识别中文。 )

NFKD是指在“与等效分解的兼容性”(normalizationformcompatibilitydecomposition )即与等效的兼容性的前提下,返回合成字符分解的多个简单字符。

() u004f ) u030c ).normalize (NFC ).length //2) ) u004f ) u030c ).NFD ).length //2上述代码显示如下

但是,normalize方法目前无法识别三个或更多字符的合成。

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。