您的位置:首页 > 其它

004-es6字符串扩展

2018-03-20 23:10 337 查看


此字无法发表,故用“”“”字代替,,,请各位同学自行替换。。。
/**
* es6字符串扩展
* es7兼容处理(以及es6语法的向下兼容)
* npm install babel-polyfill --save-dev
* 在index.js 中加入代码
* import 'babel-polyfill';
* 此时便可在index.js文件中使用es7语法
*/

{ //字符串的遍历(重点)
//es5
let str='\u{20bb7}abc';
for(let i=0;i<str.length;i++){
console.log('es5',str[i]);
}

//es6
for(let code of str){
console.log('es6',code);
}
}

/**
* 判断字符串中是否包含某些字符
* 字符串是否以某些字符为起始的 / 结束的
*/
{
let str="string";
console.log('includes',str.includes("c")); //字符串中是否包含某字符
console.log('start',str.startsWith('str'));//字符串以什么起始的
console.log('end',str.endsWith('ng')); //字符串以什么结束
}

{ //将字符串重复2次
let str="abc";
console.log(str.repeat(2));
}

/**
* es7 补白
* 参数1 字符串长度
* 参数2 不足长度时要填充的内容
*/
{
console.log('1'.padStart(2,'0')); //向前补白(填充)
console.log('1'.padEnd(2,'0')); //向后补白(填充)
}

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

{ //标签模板
let user={
name:'list',
info:'hello world'
};
//调用下面的abc函数(效果请自行测试)
console.log(abc`i am ${user.name},${user.info}`);

function abc(s,v1,v2){
console.log(s,v1,v2);
return s+v1+v2
}
}

{ //模板字符串
console.log(String.raw`Hi\n${1+2}`); //对所有的\杠进行转义(使之失效)
console.log(`Hi\n${1+2}`);
}

{ //es6 unicode编码
console.log('a',`\u0061`);
console.log('s',`\u20BB7`); //字符串编码已经超过0xFFFF则输出不正常

console.log('s',`\u{20BB7}`);//字符串编码超过0xFFFF则使用这种方法才可正常输出
}

{ //codePointAt
//es5
let s='吉';
console.log('length',s.length);
console.log('0',s.charAt(0)); //取第一个位置的字符
console.log('1',s.charAt(1)); //取第二个位置的字符
console.log('at0',s.charCodeAt(0)); //取第一个字符的unicode编码的码值
console.log('at1',s.charCodeAt(1)); //取第二个字符的unicode编码的码值

//es6
let s1='吉a';
console.log('length',s1.length);
console.log('code0',s1.codePointAt(0)); //取第一个字符的unicode编码的码值
console.log('code0',s1.codePointAt(0).toString(16)); //转16进制 方便查看
console.log('code1',s1.codePointAt(1));
console.log('code2',s1.codePointAt(2));
}

{ //码值转成对应的字符
console.log(String.fromCharCode("0x20bb7")); //es5
console.log(String.fromCodePoint("0x20bb7")); //es6
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  es6