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() === '\u004F\u030C'.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);

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值