我是靠谱客的博主 勤劳裙子,最近开发中收集的这篇文章主要介绍ES6-learning-字符串的扩展,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

1.字符的Unicode表示法(uxxxx)-xxxx表示字符的Unicode码点
“u0062”
2.codePoineAt把对应字符变为对应码点
测试一个字符由一个字节还是由四个字节组成
 

function is32Bit(c){
return c.codePointAt(c)>0xFFFF;
}

3.String.fromCodePoint()
ES5提供String.fromCharCode方法,用于从码点返回对应字符,但是这个方法不能识别32位的UTF-16字符
ES6提供了String.fromCodePoint方法,可以识别大于0xFFFF的字符

重点:fromCodePoint方法定义在String对象上,而codePointAt方法定义在字符串的实例对象上

4.字符串的遍历器接口(for...of...可以识别大于0xFFFF的码点)
5.normalize()方法,把字符的不同表示方法统一为同样的形式,称为Unicode正规化(不能识别中文)

'u01D1'.normalize() === 'u004Fu030C'.normalize()
// true
normalize方法可以接收一个参数来指定normalize的方式,参数的四个可选值如下。
NFC,默认参数,表示“标准等价合成”,返回多个简单字符的合成字符。
NFD,表示“标准等价分解”返回合成字符分解的多个简单字符
NFKC,表示“兼容等价合成”,返回合成字符
NFKD,表示“兼容等价分解,”返回合成字符分解的多个简单字符
标准等价:视觉和语义上的等价。
兼容等价:语义上存在等价,视觉上不等价

6.ES5 indexof()可以确定一个字符串是否包含在另一个字符串中
  ES6 includes()返回布尔值,表示是否找到了参数字符串
      startsWith()返回布尔值,表示参数字符串是否在原字符串的头部
      endsWith()返回;布尔值,表示参数字符串是否在原字符串的尾部(针对前n个字符)
      这三个方法都支持第二个参数,表示开始搜索的位置

7.repeat()返回新字符串,将原字符串重复n次,参数说如果是小数,会被直接取整,若为负数/infinity,会报错。先取整,后判断是否为负
参数NaN等同于0,参数为字符串,先转换为数字

8.字符串补全长度。padStart()用于头部补全,padEnd()用于尾部补全

'x'.padStart(5,'ab');//'ababax'
'x'.padEnd(5,'ab');//'xabab';

如果原字符串的长度等于或大于指定的最小长度。则返回原字符串
如果用来补全的字符串与原字符串,两者的长度之和超过了指定的最小长度,则会截去超出位数的补全字符串

'abc'.padStart(10, '0123456789')
// '0123456abc'

如果省略第二个参数,默认使用空格补全长度

‘x’.padStart(4) //'
x'

padStart()的常见用途:
1.为数值补全指定位数。

'1'.padStart(10, '0') // "0000000001"

2.提示字符串格式

'12'.padStart(10, 'YYYY-MM-DD') // "YYYY-MM-12"

9.模板字符串
1)用trim()消除保留的空格和换行
2)变量放在${}中,要提前被声明
3)可以调用函数

10.String.raw()返回一个斜杠都被转义的字符串,对应于替换变量后的模板字符串

String.raw`Hi\n`
// 返回 "Hi\\n"

可以作为正常的函数使用,第一个参数为具有raw属性的对象,且raw属性的值应该是一个数组

String.raw({ raw: 'test' }, 0, 1, 2);
// 't0e1s2t'
// 等同于
String.raw({ raw: ['t','e','s','t'] }, 0, 1, 2);

 

最后

以上就是勤劳裙子为你收集整理的ES6-learning-字符串的扩展的全部内容,希望文章能够帮你解决ES6-learning-字符串的扩展所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(52)

评论列表共有 0 条评论

立即
投稿
返回
顶部