004-es6字符串扩展

此字无法发表,故用“”“”字代替,,,请各位同学自行替换。。。

/**
 * 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
}

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值