美文网首页
《深入理解ES6》读书笔记——2.字符串和正则表达式

《深入理解ES6》读书笔记——2.字符串和正则表达式

作者: 弗利萨mom | 来源:发表于2021-02-06 21:12 被阅读0次

    1)更好的unicode支持

    javascript字符串是基于16位字符编码(UTF-16)进行构建。

    (1)codePointAt()方法:

    作用:返回 一个 Unicode 编码点值的非负整数。

    语法:str.codePointAt(pos)

    参数:pos 这个字符串中需要转码的元素的位置。

    返回值:返回值是在字符串中的给定索引的编码单元体现的数字,如果在索引处没找到元素则 返回 undefined

    (2)String.fromCodePoint()方法: codePointAt的相反的方法

    作用:返回使用指定的代码点序列创建的字符串。

    (3)normalize()方法:

    作用:按照指定的一种 Unicode 正规形式将当前字符串正规化。(如果该值不是字符串,则首先将其转换为一个字符串)。

    (4)u修饰符

    ES6 对正则表达式添加了u修饰符,含义为“Unicode 模式”,用来正确处理大于\uFFFF的 Unicode 字符。也就是说,会正确处理四个字节的 UTF-16 编码。

    2)其他字符串变更

    (1)字符串中的子串识别

    includes() startsWith() endsWith()

    都接受两个参数:第一个,要搜索的字符串。第二个,可选的,指定一个开始搜索的位置。

    都返回布尔值

    如果你需要在一个字符串中寻找另一个子字符串的实际位置,还需使用indexOf()或lastIndexOf()

    对于includes() startsWith() endsWith(),传入正则表达式会报错。但对于indexOf()或lastIndexOf()则会把正则转化成一个字符串并搜索它。

    (2)repeat()方法

    作用:构造并返回一个新字符串,该字符串包含被连接在一起的指定数量的字符串的副本。

    语法:str.repeat(count)

    参数:number类型的参数。介于 0 和 [+Infinity]之间的整数。表示在新构造的字符串中重复了多少遍原字符串。

    3)其他正则表达式语法变更

    (1)正则表达式y修饰符

    “粘连”(sticky)修饰符

    作用:匹配从目标字符串的当前位置开始。

    (2)正则表达式的复制

    使用RegExp构造函数复制,第一个参数为正则表达式,第二个参数(可选)修改其修饰符

    (3)flags属性

    作用:返回正则表达式的修饰符。

    只读的原型属性访问器

    ES5 的 source 属性 返回正则表达式的正文

    /abc/ig.source // "abc" 
    

    ES6 的 flags 属性 返回正则表达式的修饰符

    /abc/ig.flags // 'gi'
    

    4)模板字面量

    (1)基础语法

    用反引号(`)标识。

    如果你想使用`,用反斜杠\转义即可

    (2)多行字符串

    ES6只需在代码中直接换行

    想创造前后空格直接留白即可,而且可以使用trim()来移除

    (3)字符串占位符

    ${ 表达式 }

    一个模板字面量里可以嵌入另外一个

    (4)标签模板

    标签就是一个函数,标签后的模板字符串就是它的参数。

    参数:标签函数的第一个参数包含一个字符串值的数组。其余的参数与表达式相关。

    (5)在模板字面量中使用原始值

    String.raw()

    相关文章

      网友评论

          本文标题:《深入理解ES6》读书笔记——2.字符串和正则表达式

          本文链接:https://www.haomeiwen.com/subject/vfaotltx.html