字符串?dāng)U展方法

新增特性

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

Unicode表示法

{
    console.log('a',`\u0061`)
    //a a
    console.log('s',`\u20BB7`)
    //s ?7
    console.log('s',`\u{20BB7}`)
    //s ??
    // 當(dāng)值超過(guò)2個(gè)字節(jié)的時(shí)候,只截取前四個(gè)當(dāng)成一個(gè)字符,需要用大括號(hào)包起來(lái)
}

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

    //當(dāng)值超過(guò)2個(gè)字節(jié)的時(shí)候,計(jì)算長(zhǎng)度的時(shí)候會(huì)計(jì)算成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的方法,用于處理字符串的遍歷,能夠解決處理字符串中某個(gè)字符大于2個(gè)字節(jié)的情況。

includes,startsWith和endsWith,repeat方法

includes判斷字符串中是否包含某個(gè)字符,startsWith判斷某個(gè)字符是不是起始,endsWith判斷某個(gè)字符是不是結(jié)束字符,repeat字符串重復(fù)

{
    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
    //字符串復(fù)制
    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草案,補(bǔ)白功能。padStart和padEnd

{
    //向前補(bǔ)白
    console.log('1'.padStart(2,'0'));
    //01
    //向后補(bǔ)白
    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對(duì)所有的/進(jìn)行轉(zhuǎn)義
{
    console.log(String.raw`Hi\n${1+2}`)
    //Hi\n3
    console.log(`Hi\n${1+2}`)
    //Hi
    //3
}
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀(guān)點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容