js ES6 对字符的操作注意事项

Posted 马在路上

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了js ES6 对字符的操作注意事项相关的知识,希望对你有一定的参考价值。

1.codePointAt方法是测试一个字符由两个字节还是由四个字节组成的最简单方法。

1 function is32Bit(c) {
2   return c.codePointAt(0) > 0xFFFF;
3 }
4 
5 is32Bit("??") // true
6 is32Bit("a") // false

2.ES6提供字符串实例的normalize()方法,用来将字符的不同表示方法统一为同样的形式,这称为Unicode正规化。

normalize方法可以接受四个参数。

  • NFC,默认参数,表示“标准等价合成”(Normalization Form Canonical Composition),返回多个简单字符的合成字符。所谓“标准等价”指的是视觉和语义上的等价。
  • NFD,表示“标准等价分解”(Normalization Form Canonical Decomposition),即在标准等价的前提下,返回合成字符分解的多个简单字符。
  • NFKC,表示“兼容等价合成”(Normalization Form Compatibility Composition),返回合成字符。所谓“兼容等价”指的是语义上存在等价,但视觉上不等价,比如“囍”和“喜喜”。(这只是用来举例,normalize方法不能识别中文。)
  • NFKD,表示“兼容等价分解”(Normalization Form Compatibility Decomposition),即在兼容等价的前提下,返回合成字符分解的多个简单字符。
  •  1 ‘\u01D1‘.normalize() === ‘\u004F\u030C‘.normalize() 2 // true 

 1 ‘\u004F\u030C‘.normalize(‘NFC‘).length // 1 2 ‘\u004F\u030C‘.normalize(‘NFD‘).length // 2 

3.includes(),startsWith(),endsWith()

  • includes():返回布尔值,表示是否找到了参数字符串。
  • startsWith():返回布尔值,表示参数字符串是否在源字符串的头部。
  • endsWith():返回布尔值,表示参数字符串是否在源字符串的尾部。
1 var s = ‘Hello world!‘;
2 
3 s.startsWith(‘Hello‘) // true
4 s.endsWith(‘!‘) // true
5 s.includes(‘o‘) // true

使用第二个参数n时,endsWith的行为与其他两个方法有所不同。它针对前n个字符,而其他两个方法针对从第n个位置直到字符串结束。

1 var s = ‘Hello world!‘;
2 
3 s.startsWith(‘world‘, 6) // true
4 s.endsWith(‘Hello‘, 5) // true
5 s.includes(‘Hello‘, 6) // false

4.repeat方法返回一个新字符串,表示将原字符串重复n次。

5.

以上是关于js ES6 对字符的操作注意事项的主要内容,如果未能解决你的问题,请参考以下文章

js注意事项3(继承)

js注意事项3(继承)

XSS:如何从 C# 中的字符串中删除 JS 片段?

js导出Excel表格超出26位英文字符解决方案ES6

ES7-Es8 js代码片段

es6