zoukankan      html  css  js  c++  java
  • 读书笔记:深入理解ES6 (二)

    第2章 字符串和正则表达式

    这一章主要介绍了ES6中字符串和正则表达式中的一些(语法上的)更新。下面,我将对平时开发用到比较多的地方提炼出来,供大家阅读使用。

      1. 更好的Unicode支持。

        先说一下前提,在字符串中,字符串里面的字符有两种:一种是有一个编码单元16位表示的BMP字符;另一种是由两个编码单元32位表示的辅助平面字符。这两种字符是不一样的。

        1.1 normalize()方法。

        这个方法接受一个可选的字符串,然后将该字符串转化为相应的标准Unicode的形式,然后可以进行字符串的比较。以确保即使两个字符串原来分别是16位字符和32位字符也照样可以比较。

        1.2 正则表达式 u修饰符

        其实这个添加的 u 修饰符,其目的也是为了帮助字符从编码单元操作模式转化为字符模式,然后带 u 修饰符的正则表达式就可以由原来匹配编码单元改为匹配字符。这样用起来就更加正常化了。

     

      2. 其他字符串变更。

        这一节里面,主要说了几个处理字符串和字串之间关系的方法。

        2.1 includes() 方法。用于识别当前字符串中是否包含了某一个子串。

        2.2 startsWith()方法。顾名思义,找到以某一个子串开始的字符串。

        2.3 endsWith()方法。同样,从后往前查找是否包含某一个子串。

        2.4 repeat()方法。该方法接受一个number类型的参数,然后将调用该方法的字符串重复n次,返回该字符串。

          例如:

    1 console.log( "hello".repeat(2) ); // "hellohello"

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

        3.1 正则表达式 y 修饰符。

        该属性会通知搜索正则表达式的 lastIndex 属性开始进行,如果在指定位置没有匹配成功,则停止继续匹配。

        3.2 flags属性。

        在ES6的版本中,添加了正则表达式的 flags 属性,该属性可以返回所有应用于当前正则表达式的修饰符字符串。

     

      4. 模板字面量。

      这个就是一对反撇号(``)这个比较有意思,也是比较核心的一个知识点。简单概括来说,可以分为三点:

        4.1 利用它可以实现输出多行字符串。以前的时候,多行字符串依靠拼接,然后加上换行符。有了这个反撇号后就可以直接拼出来多行字符串,并且显示的时候也是多行的字符串。

        4.2 利用它可以实现占位符功能。声明一个变量,然后可以使用 ${ } 来取出这个变量的值。例如:   

    1 let name = "Steven",
    2     message = `Hello, ${name}.`;
    3 
    4 console.log(message); // "Hello, Steven."

         4.3 模板标签。这个因为平时用的不是很多。所以,这里简单讲一个思路,有兴趣的同学可以找原书中的细节以及代码。

        这个模板标签究竟是干什么的呢?简单说,它就是一个包含了反撇号表达式的函数。这个函数以反撇号表达式作为参数,然后标签名就是这个函数的函数名。

    (本节完)

        

  • 相关阅读:
    【Selenium】Option加载用户配置,Chrom命令行参数
    Webdriver中关于driver.navigate().to()和driver.get()使用的区别
    【Selenium】idea导入eclisp项目的问题
    【数据库】数据库操作
    【monkey】
    【idea】idea快捷键
    【Selenium】Selenium1
    【Selenium】idea的selenium环境配置
    前端学习
    CSS 居中
  • 原文地址:https://www.cnblogs.com/zxxsteven/p/11432659.html
Copyright © 2011-2022 走看看