es6字符串的新增方法篇

字符串的新增方法

超出\u0000~\uFFFF的字符,必须用两个双字节的形式表示。

String.fromCodePoint()识别Unicode 码(不能识别码点大于0xFFFF的字符)

String.raw()

String.raw`Hi\n${2+3}!`// 实际返回 "Hi\\n5!",显示的是转义后的结果 "Hi\n5!"

String.raw`Hi\u000A!`;// 实际返回 "Hi\\u000A!",显示的是转义后的结果 "Hi\u000A!"

UTF-16 编码为0xD842 0xDFB7(十进制为55362 57271),需要4个字节储存。

codePointAt()测试一个字符由两个字节还是四个字节组成

let s ='𠮷a';

s.codePointAt(0)// 134071
s.codePointAt(1)// 57271

s.codePointAt(2)// 97
functionis32Bit(c){
    return c.codePointAt(0)>0xFFFF;
}
is32Bit("𠮷")// true
is32Bit("a")// false

normalize()用来将字符的不同表示方法统一为同样的形式

includes()是否包含字符串

startsWith()是否在原字符串头部

endsWith()是否在原字符串尾部

第二个参数表示开始搜索位置

repeat()将原字符串重复n次并返回新字符串

参数如果是负数或者infinity会报错,如果是小数会取整;字符串会会转数字

padStart()头部补全

padEnd()尾部补全

两个参数第一个补全生效的最大长度,第二个用来补全字符串

原字符串大于等于最大长度则返回原字符串

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

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

padStart()的常见用途是为数值补全指定位数。下面代码生成 10 位的数值字符串。另一个用途是提示字符串格式。

trimStart()消除头部空格

trimEnd()消除尾部空格

返回新字符串,不会改变原字符串

trimLeft()是trimStart()的别名,trimRight()是trimEnd()的别名。

matchAll()正则

js:replace()只能将第一个替换,多个替换的需要replace(/b/g,'_')

'aabbcc'.replace(/b/g,'_')
// 'aa__cc'

es6:replaceAll()替换所有匹配

replaceAll()的第二个参数replacement是一个字符串,表示替换的文本,其中可以使用一些特殊字符串。

  • $&:匹配的字符串。

  • $` :匹配结果前面的文本。

  • $':匹配结果后面的文本。

  • $n:匹配成功的第n组内容,n是从1开始的自然数。这个参数生效的前提是,第一个参数必须是正则表达式。

  • $$:指代美元符号$。

at()接收一个整数,返回指定未知的字符,支持负索引(即倒数位置)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值