ES(5)之字符串的扩展方法


加强了对Unicode的支持

在ES5中,js支持用\uxxxx来表示一个数字,其中xxxx表示字符的Unicode码点。这种表示方法仅限于码点在\u0000~\uFFFF之间的字符,超出这个码点的字符必须用两个双字节表示,但是ES5只能识别两个字节组成的字符,但ES6中增加了对两个双字节字符的支持

  • 方法:将码点包裹在花括号中

    a = '\u{12FFF}';
    

新的循环方法

ES6中提供了一个新的循环方式for of

  • 特点:可以将超过字节数的数字进行循环遍历,这种循环更加可靠

  • 格式:for(let word of 变量名)

    let a = \u{20ffc};
    for(let word of a){
        console.log(word);
    }
    

字符串新方法

  • include:判断主串中是否含有对应的子串

    let str = 'hello world';
    console.log(str.include('he'));     //true
    
  • startsWith:判断主串是否以对应的子串开头

    • 参数一:查找的子串,如果不填会返回false
    • 参数二:字符串开始位置,从零开始
    let str = 'hello world';
    console.log(str.startsWith('he'));  //true
    console.log(str.startsWith('ll',2));    //true
    
  • endsWith:判断主串是否以对应的子串结尾

    • 参数一:查找的子串,如果不填会返回false
    • 参数二:字符串截止在第x个字符前(从零开始)
    let str = 'hello world';
    console.log(str.endsWith('lo',4));  //false
    console.log(str.endsWith('lo',5));  //true
    console.log(str.endsWith('lo',6));  //false
    
  • repeat:将字符串重复n次,返回新的字符串

    let str = 'hello world';
    str = str.repeat(3);
    console.log(str);   //hello worldhello worldhello world
    
  • padStart:用子串在字符串开始处进行补全

    • 参数一:补全到多少位
    • 参数二:用来补全的子串
    let str = 'hello world';
    str = str.padStart(15,'abcde');
    console.log(str);   //abcdhello world
    
  • padEnd:用子串在字符串结束位置进行补全

    • 参数一:补全到多少位
    • 参数二:用来补全的子串
    let str = 'hello world';
    str = str.padEnd(15,'abcde');
    console.log(str);   //hello worldabcd
    

模板字符串

如果要加入字符串并导入HTML,以前需要这样做

let obj = {
    username:'xiaoming',
    age:'18'
    gender:'male'
}
let  tag = '<div><span>' + obj.username + '</span><span>' + obj.age + '</span><span>' + obj.gender + '</span></div>' 

但在ES6中我们使用模板字符串即可

let tpl = `
  <div>
      <span>${obj.username}</span>
      <span>${obj.age}</span>
      <span>${obj.gender}</span>
  </div>
`

现在我们只需要在字符串中使用`${变量名}`就可以实现字符串的替换了。相比ES5的‘+’号连接,这样的方法更加清晰可读性更强,同时模板字符串能够保留字符串的输入格式,空格及回车都可以保留,现在我们可以更加轻松的在js中写入HTML的代码了

注意

  • 大括号中的值不是字符串时,将按照一般的规则转换成字符串,例如大括号中的是一个对象,那么将默认调用对象的toString方法
  • 模板字符串中的${....}可以放入任意javaScript的表达式,可以进行运算,引用对象属性,调用函数,也可以嵌套,甚至还可以调用自己本身
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容