ES6字符串

ES6字符串:和ES5的最大的区别在于对unicode编码大于0xFFF的的处理.

//例子的\u20bb7是大于0xfff的,20bb算2个字节,7单独算1个字节


//写法  \u{  }    
{
console.log('a','\u8861'); //没有超过0xFFF
console.log('s','\u20BB7'); //超过0xFFF所以分成4个字节,前面4个为一个,7为1个
console.log('s','\u{20BB7}'); //ES6写法 若当成一个unicode码要用{}
}

{
//ES5
let s='?';
console.log(s.length); //2个字符
console.log('0',s.charAt(0)); //取第一个字符
console.log('1',s.charAt(1)); //取第一个字符
console.log('00',s.charCodeAt(0)); //取码值55362
console.log('11',s.charCodeAt(1)); //取码值57271
console.log('ES5',String.fromCharCode('0x20bb7')); //乱了
// ES6写法 :codePointAt fromCodePoint
let s1='?a';
console.log(s1.codePointAt(0).toString()); //134071
console.log(s1.codePointAt(2).toString()); //97
console.log('ES6',String.fromCodePoint('0x20bb7')); //正常
}
{
let str ="helloWC";

console.log('includes', str.includes('lo')); //true //是否包含某字符串
console.log('startsWith' ,str.startsWith('he')); //true 是否以什么开始
console.log('endsWith', str.endsWith('Wc')); //false  以什么结束
console.log('repeat', str.repeat(2)); //helloWChelloWC  重复复制几次
}

//es6遍历字符串
{
let str="\u{20BB7}abc";
//ES5
for(let i=0;i<str.length;i++){
console.log('es5',str[i]);
}
//ES6
for(let code of str){
console.log('es6',code); //? a b c
}
}
//模板字符串 用 `${ } `包裹  ${  } 包裹变量名
{
let str="IIII";
let name="KO";
console.log('moban:',  `Just ${str} and ${name}`);
}


//标签模板(这种写法)可以用来防止xss攻击,进行多语言转换
{
let user={
name:'list',
info:'hello'
};
console.log(  abc`I am ${user.name} ${user.info}`   );
function abc(s,v1,v2){
console.log('s',s);
console.log('v1',v1);
console.log('v2',v2);
return s+v1+v2;
}
}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值