我是靠谱客的博主 追寻小笼包,最近开发中收集的这篇文章主要介绍es6字符串的新增方法篇,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

字符串的新增方法

超出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字符串的新增方法篇所遇到的程序开发问题。

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

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

评论列表共有 0 条评论

立即
投稿
返回
顶部