新增特性
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
}