字符串类的扩展

一、字符的表示方法(以'z'为示例)
 
    1、'z'==='z'  //true
 
    2、'\z' === 'z'  // true
 
    3、'\172' === 'z' // true
 
    4、'\x7A' === 'z' // true
   
    5、'\u007A' === 'z' // true
 
    6、'\u{7A}' === 'z' // true

二、字符串的遍历器接口
 
  1、for...of
 
  2、可以识别大于0xFFFF的码点

三、str.at(index)
 
  1、功能同str.charAt(index)
  
  2、可以识别Unicode编号大于0xFFFF的字符
 
四、查找子字符串
 
    1、includes():返回布尔值,表示是否找到了参数字符串。

    2、startsWith():返回布尔值,表示参数字符串是否在源字符串的头部。

    3、endsWith():返回布尔值,表示参数字符串是否在源字符串的尾部。
 
五、克隆字符串
 
    1、.repeat(n);    //返回一个新字符串,表示将原字符串重复n次。
 
六、字符串补全功能(ES7提案,es6不能用)
 
    1、padStart(minNum,str);
 
    2、padEnd(minNum,str);]
 
    3、常见用途:数值补全指定位数  提示字符串格式
        (如:'12'.padStart(10, 'YYYY-MM-DD')   // "YYYY-MM-12"
                 '09-12'.padStart(10, 'YYYY-MM-DD')   // "YYYY-09-12")
 
七、模板字符串
 
    1、模板字符串(template string)是增强版的字符串,用反引号(`)标识。它可以当作普通字符串使用,
         也可以用来定义多行字符串,或者在字符串中嵌入变量。
 
    2、如果在模板字符串中需要使用反引号,则前面要用反斜杠转义。
 
    3、如果使用模板字符串表示多行字符串,所有的空格和缩进都会被保留在输出之中。
 
    4、模板字符串中嵌入变量,需要将变量名写在${}之中。
 
    5、大括号内部可以放入任意的JavaScript表达式,可以进行运算,以及引用对象属性。
 
    6、模板字符串之中还能调用函数。
 
八、标签模板
 
    1、“标签”指的就是函数,紧跟在后面的模板字符串就是它的参数
 
    2、如:tag`...`;function tag(s,arg1,args2....){...};  //s是一个保存不变字符串的数组 arg1,args2...分别为引用的
                                                                                  js变量或者函数
    3、常见用途:过滤字符串(防止用户恶意输入),多语言转换,嵌入其他语言
 
九、String.raw
 
    1、String.raw方法,往往用来充当模板字符串的处理函数,返回一个斜杠都被转义(即斜杠前面再加一个斜
         杠) 的字符串,对应于替换变量后的模板字符串。
 
        如:String.raw`Hi\n${2+3}!`;    // "Hi\\n5!"
              String.raw`Hi\u000A!`;       //'Hi\\u000A!'
 
 
posted @ 2016-05-20 13:26  DeadGhost  阅读(124)  评论(0编辑  收藏  举报