美文网首页
字符串扩展方法

字符串扩展方法

作者: bjhu电net | 来源:发表于2017-09-19 14:06 被阅读0次

    新增特性

    Unicode表示法,遍历接口,模板字符串,新增方法(10种)

    Unicode表示法

    {
        console.log('a',`\u0061`)
        //a a
        console.log('s',`\u20BB7`)
        //s ₻7
        console.log('s',`\u{20BB7}`)
        //s 𠮷
        // 当值超过2个字节的时候,只截取前四个当成一个字符,需要用大括号包起来
    }
    

    es5处理unicode码

    {
        //es5处理unicode码
        let s='𠮷';
        console.log(s.length)
        //2
        console.log(s.charAt(0))
        console.log(s.charAt(1))
        console.log(s.charCodeAt(0))
        console.log(s.charCodeAt(1))
        //� � 55362 57271
    
        //当值超过2个字节的时候,计算长度的时候会计算成2
    }
    

    es6处理unicode码

    {
        //es6处理unicode码
        let s='𠮷a';
        console.log(s.length)
        //3
        console.log(s.codePointAt(0))
        console.log(s.codePointAt(1))
        console.log(s.codePointAt(2))
        console.log(s.codePointAt(0).toString(16))
        //134071 57271 97 20bb7
    
    }
    {
        console.log(String.fromCharCode('0x20bb7'))
        console.log(String.fromCodePoint('0x20bb7'))
        //ஷ 𠮷
    }
    

    字符串遍历接口

    
    {
        //es5字符串遍历
        let str='\u{20bb7}abc';
        for(let i=0;i<str.length;i++){
            console.log('es5',str[i])
        }
        // es5 �
        // es5 �
        // es5 a
        // es5 b
        // es5 c
        for(let code of str){
            console.log('es6',code)
        }
        // es6 𠮷
        // es6 a
        // es6 b
        // es6 c
    }
    

    es6中新增加了let a of str的方法,用于处理字符串的遍历,能够解决处理字符串中某个字符大于2个字节的情况。

    includes,startsWith和endsWith,repeat方法

    includes判断字符串中是否包含某个字符,startsWith判断某个字符是不是起始,endsWith判断某个字符是不是结束字符,repeat字符串重复

    {
        let str='string';
        console.log(str.includes('r'))
        console.log(str.includes('v'))
        //true false
        console.log(str.startsWith('s'))
        console.log(str.endsWith('ng'))
        //true true
        //字符串复制
        let str='abc';
        console.log(str.repeat(2));
        //abcabc
    }
    

    模板字符串

    {
        let name='list';
        let info='hello world';
        let m=`这是模板字符串${name},${info}`;
        console.log(m)
        //这是模板字符串list,hello world
    }
    

    必须是${}的形式

    es7草案,补白功能。padStart和padEnd

    {
        //向前补白
        console.log('1'.padStart(2,'0'));
        //01
        //向后补白
        console.log('1'.padEnd(2,'0'));
        //10
    }
    

    模板字符串

    {
        let user={
            name:'list',
            info:'hello world'
        };
        abc`i am $(user.name),${user.info}`;
        function abc(s,v1,v2){
            console.log(s,v1,v2);
            return s+v1+v2;
        }
    }
    

    String.raw方法

    //raw对所有的/进行转义
    {
        console.log(String.raw`Hi\n${1+2}`)
        //Hi\n3
        console.log(`Hi\n${1+2}`)
        //Hi
        //3
    }
    

    相关文章

      网友评论

          本文标题:字符串扩展方法

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