概述
字符串的新增方法
超出u0000~uFFFF的字符,必须用两个双字节的形式表示。
String.fromCodePoint()识别Unicode 码(不能识别码点大于0xFFFF的字符)
String.raw()
String.raw`Hin${2+3}!`// 实际返回 "Hi\n5!",显示的是转义后的结果 "Hin5!"
String.raw`Hiu000A!`;// 实际返回 "Hi\u000A!",显示的是转义后的结果 "Hiu000A!"
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()接收一个整数,返回指定未知的字符,支持负索引(即倒数位置)
最后
以上就是追寻小笼包为你收集整理的es6字符串的新增方法篇的全部内容,希望文章能够帮你解决es6字符串的新增方法篇所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复