美文网首页
ES6总结4- 字符串扩展

ES6总结4- 字符串扩展

作者: 辣瓜瓜 | 来源:发表于2019-05-07 22:23 被阅读0次

ES6学习总结是自己在学习过程中的总结,记笔记就是为了督促自己学习和复习,好记性不如烂笔头。如果有错误,感谢指出。

字符串扩展

有一些方法ES7提案,需要安装处理兼容的补丁库,否则es6没办法编译通过

npm install babel-polyfill --save-dev
import 'babel-polyfill';
Unicode表示方法

A 的unicode表示方法 \u0061

当码值大于两个字节\U20BB7输出的:□7,并没有按一个字符来处理。
当码值大于两个字节,用大括号括起来
Unicode不区分大小写

{
  console.log('a',`\u0061`);
  console.log('s',`\u20BB7`);//□7
  console.log('s',`\u{20BB7}`);//𠮷 字符
}
{
  let s='𠮷';
  console.log('length',s.length);//2
  //因为𠮷的码值大于两个字节,这时候就把他处理成4个字节了??,计算长度的时候每两个字节就算是一个长度。
  
  //取第一第二个字符
  //取第一第二个字符的unicode码值
  console.log('0',s.charAt(0));//乱码
  console.log('1',s.charAt(1));//乱码
  console.log('at0',s.charCodeAt(0));//55362
  console.log('at1',s.charCodeAt(1));//57271

  //es6处理
  let s1='𠮷a';
  console.log('length',s1.length);//3
  console.log('code0',s1.codePointAt(0));//134071 10进制
  console.log('code0',s1.codePointAt(0).toString(16));//20bb7
  console.log('code1',s1.codePointAt(1));//57271 𠮷的最后两个字节
  console.log('code2',s1.codePointAt(2));//97(也就是a) 
}
{
    //能不能处理大于两个字节的unicode字符
    console.log(String.fromCharCode("0x20bb7"));
    console.log(String.fromCodePoint("0x20bb7"));
}

字符串遍历器接口

{
  let str='\u{20bb7}abc';
  for(let i=0;i<str.length;i++){
    console.log('es5',str[i]);//乱码 乱码 a b c
  }
  for(let code of str){
    console.log('es6',code);//for of可以遍历大于0xfff的字符 
    // 𠮷 a b c
  } 
}

实用方法

判断字符串中是不是包含某些字符?
一个字符串是否是以某些字符为起始/截止的?
字符串重置多次

{
  let str="string";
  console.log('includes',str.includes("c"));//判断字符串是否包含给定字符(includes)
  console.log('start',str.startsWith('str'));//判断是否以给定字符开始(startsWith)
  console.log('end',str.endsWith('ng'));//判断是否以给定字符结束(endsWith)
}

模板字符串

不是单引号,键盘数字1左侧的按键

{
  let name="list";
  let info="hello world";
  let m=`i am ${name},${info}`;
  console.log(m);
}

ES7草案:判断字符串长度是否够,不够补指定内容

console.log('1'.padStart(2,'0'));//01
console.log('1'.padEnd(2,'0'));//10

标签模板

{
  let user={
    name:'list',
    info:'hello world'
  };
  console.log(abc`i am ${user.name},${user.info}`);
  function abc(s,v1,v2){
    console.log(s,v1,v2);
    return s+v1+v2
  }
}

用这个防xss攻击,处理多语言转换

String.raw

String.raw()方法,往往用来充当模板字符串的处理函数,返回一个斜杠都被转义(即斜杠前面再加一个斜杠)的字符串,对应于替换变量后的模板字符串。

String.raw`Hi\n${2+3}!`;
// "Hi\\n5!"
String.raw`Hi\u000A!`;
// 'Hi\\u000A!'

如果原字符串的斜杠已经转义,那么String.raw()不会做任何处理。




















相关文章

  • ES6总结4- 字符串扩展

    ES6学习总结是自己在学习过程中的总结,记笔记就是为了督促自己学习和复习,好记性不如烂笔头。如果有错误,感谢指出。...

  • es6的数值,函数,字符串扩展

    一、es6的数值扩展 二、es6的函数扩展 代码效果:对象解构在函数中的应用 三、es6字符串扩展 常用方法 代码...

  • 字符串扩展

    ES6加强了对字符串的扩展,这里小编只对在工作中会用到或者重要的部分进行总结。 1、for...of遍历字符串 e...

  • ECMAScript6新方法(2)

    字符串扩展 ES6加强了对Unicode的支持,并且扩展了字符串对象。 获取字符unicode编码 通过unico...

  • ES6扩展归纳

    ES6扩展归纳 介绍ES6相比与ES5在原有对象上的扩展,包括字符串、正则、数值、函数、数组、对象等扩展,本文是阮...

  • es6之扩展运算符 三个点(...)

    es6之扩展运算符 三个点(...)对象的扩展运算符数组的扩展运算符总结es6之扩展运算符 三个点(…)对象的扩展...

  • 11.ES6字符串startsWith、endsWith和字符串

    在ES6中字符串扩展了startsWith、endsWith和字符串模板1、startsWith 开始是否包含2、...

  • ES6字符串扩展

    ES6字符串扩展 ES6加强了对 Unicode 的支持(特殊字符) 之前JavaScript允许采用\uxxxx...

  • ES6、ES7语法以及Vue模板语法

    ES6、ES7语法 字符串的扩展 includes(str) : 判断是否包含指定的字符串startsWith(s...

  • ES6入门之内置对象的扩展

    1.字符串的扩展 模板字符串。ES5写法: ES6写法: 新增字符串方法:1 repeat; //复制字符串2 i...

网友评论

      本文标题:ES6总结4- 字符串扩展

      本文链接:https://www.haomeiwen.com/subject/dymyoqtx.html