美文网首页
ES6之字符串的扩展(下)

ES6之字符串的扩展(下)

作者: 嘿喵heyMeow | 来源:发表于2017-04-22 15:35 被阅读0次

    上一节中,我们学习了模板字符串和标签模板,这一节,我们接着来看一下ES6还对字符串添加了哪些新特性。

    repeat() 函数
    includes() 函数
    startswith() 函数
    endswith() 函数
    codePointAt() 函数
    String.fromCodePoint( ) 函数
    String.raw() 函数

    repeat() 函数

    将目标字符串重复n次,返回新的字符串:

    cons tname = 'zzq';
    const nameR = name.repeat(3);
    console.log(nameR);  // zzqzzqzzq
    

    includes() 函数

    判断字符串中是否含有指定的字符串,返回值是boolean类型:

    const str = "my name is zzq";
    str.includes('zzq');  // true
    str.includes('s');  // false
    

    includes(参数1, 参数2) 可以传入两个参数:
    参数1:要查找的字符串,
    参数2:指定开始查找的位置

    const str = "my name is zzq";
    str.includes('m');   // true
    str.includes('m', 8); // false
    

    startswith() 函数

    startswith(参数1, 参数2):
    判断目标字符串是否以指定字符串开头
    参数1:指定字符串,
    参数2(可选):开始搜索的位置

    const str = "jintian tianqi zhenhao";
    str.startsWith('jin');  // true
    str.startsWith('tianqi ');  // false
    str.startsWith('tianqi ',8);  // true
    

    endswith() 函数

    和startswith的用法一样,用来判断目标字符串是否以指定字符串结尾。同样也可以使用两个参数。废话不多说,直接上代码就可以了:

    const str = "jintian tianqi zhenhao";
    str.endsWith('zhenhao');  // true
    str.endsWith('qi', 14);  // true
    str.endsWith('an', 7);  //  true
    

    需要注意的是,第二个参数是代表指在前n个字符里判断。

    codePointAt() 函数

    在js中,一个字符需要2个字节存储,需要4个字节存储的js认为它是2个字符。

    const str = "𠮷";
    console.log(str.length);  // 2
    

    例如汉字 "𠮷"的长度是2,代表占两个字符,但是js无法处理。。所以ES6添加了codePointAt()函数用来处理4个字节的字符。

    const str = "𠮷";
    str.codePointAt(str);  // 134071
    

    134071是 "𠮷"的码点的十进制数,转换成16进制就是20bb7,其对应的Unicode编码则是\u20bb7。
    (这一块我理解的不是很好,建议可以看下这篇文章细致的了解:es6学习笔记-字符串的扩展_v1.0

    String.fromCodePoint( ) 函数

    和codePointAt()相反,该函数是根据传进的码点返回对应的字符,比如上边的 "𠮷" 的码点是134071:

    String.fromCodePoint(134071); //   𠮷
    

    String.raw() 函数

    我们先来看一下代码:

    `hello\nworld`;  // 输出:hello换行world
    String.raw`hello\nworld`;  // 输出:hello\nworld
    

    从上边的代码中,可以很清晰地看到String.raw的作用:把已加工的字符串转换为原始字符串。

    最后,跟大家分享一下我的个人博客地址:http://javascript404.com
    欢迎你的到来 ~ ~ ❤❤❤

    相关文章

      网友评论

          本文标题:ES6之字符串的扩展(下)

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