ES6字符串

作者: 木中木 | 来源:发表于2017-12-04 08:47 被阅读0次

1.normalize()方法,用来将字符的不同表示方法统一为同样的形式,这称为 Unicode 正规化,这样就可以很容易求汉字和字符混杂的字数,而不用因为汉字和英文字符占位不同导致结果不一致。
NFC,默认参数,表示“标准等价合成”(Normalization Form Canonical Composition),返回多个简单字符的合成字符。所谓“标准等价”指的是视觉和语义上的等价。
NFD,表示“标准等价分解”(Normalization Form Canonical Decomposition),即在标准等价的前提下,返回合成字符分解的多个简单字符。
NFKC,表示“兼容等价合成”(Normalization Form Compatibility Composition),返回合成字符。所谓“兼容等价”指的是语义上存在等价,但视觉上不等价,比如“囍”和“喜喜”。(这只是用来举例,normalize方法不能识别中文。)
NFKD,表示“兼容等价分解”(Normalization Form Compatibility Decomposition),即在兼容等价的前提下,返回合成字符分解的多个简单字符。

'\u01D1'.normalize() === '\u004F\u030C'.normalize()
// true
console.log('级'.normalize('NFC').length) 
//1

2.includes(), startsWith(), endsWith()
includes():返回布尔值,表示是否找到了参数字符串。
startsWith():返回布尔值,表示参数字符串是否在原字符串的头部。
endsWith():返回布尔值,表示参数字符串是否在原字符串的尾部。

console.log('级'.normalize('NFC').length)
let a ='linjian';
console.log(a.includes('lin'))
//true
console.log(a.startsWith('lin'))
//true
console.log(a.endsWith('jian'));
//true

3.padStart(),padEnd()
引入了字符串补全长度的功能。如果某个字符串不够指定长度,会在头部或尾部补全。padStart()用于头部补全,padEnd()用于尾部补全
4.支持模板写法不用繁琐的+

let a = 1,b='c';
console.log(`
  this is a template example,
  this values is ${a},and ,${b}
`)
//"
  this is a template example,
  this values is 1,and ,c
"

模板运算:

let a = 1,b='c',c=2;
console.log(`
  this is a template example,
  this values is ${a} + ${c}=${a+c}
`)

方法调用:

let a = 1,b='c',c=2;
console.log(`
  this is a template example,
  this values is ${a} + ${c}=${temp(a,c)}
`)
function temp(a=1,c=1){
  return a + c ;
}

标签模板
标签模板其实不是模板,而是函数调用的一种特殊形式。“标签”指的就是函数,紧跟在后面的模板字符串就是它的参数。

let a = 5;
let b = 10;

tag`Hello ${ a + b } world ${ a * b }`;
// 等同于
tag(['Hello ', ' world ', ''], 15, 50);

tag函数的第一个参数是一个数组,该数组的成员是模板字符串中那些没有变量替换的部分,也就是说,变量替换只发生在数组的第一个成员与第二个成员之间、第二个成员与第三个成员之间,以此类推。

tag函数的其他参数,都是模板字符串各个变量被替换后的值。由于本例中,模板字符串含有两个变量,因此tag会接受到value1和value2两个参数。

相关文章

  • 21.模板字符串和标签模板字符串

    ES6新增了模板字符串,用于字符串拼接 ES6新增了标签字符串 标签模板字符串执行结果: 函数的第一个参数为数组,...

  • ES6模版字符串

    初探ES6:字符串模板 && 标签模板 关键词:``,${} 字符串模板: 在ES6之前我们要在html或者con...

  • ES6-02 字符串与正则表达式

    ES6学习笔记-字符串与正则表达式 JS字符串编码 在ES6之前,JS的字符串以16位字符编码(UCS-2)为基础...

  • 字符串

    字符串换行使用 /n ,ES6可以使用反引号进行换行 ES6字符串模板使用 要获取字符串某个指定位置的字符,使用类...

  • es6新特性

    es6新特性 1.函数参数添加默认值 es6之前 es6之后: 2.字符串拼接 es6之前: es6之后: 3.解...

  • es6 知识

    字符串a.字符串拼接 //es5 var test = 'es6'; co...

  • 字符串

    1. 字符串方法。 2. ES6新增加的字符串方法。

  • 字符串语法糖笔记

    以前的字符串不能记录回车 es6 字符串可以作为参数传入函数

  • es6的模板字符串

    关于es6的模板用法,想要拼接字符串使用传统的字符串拼接“+”是比较麻烦的,尤其拼接复杂的东西时,而es6为我们提...

  • 一些关于es6的学习

    1.关于字符串的遍历 es6中字符串的遍历 var s="hdfghdsgfjhgfugjf" for(let ...

网友评论

    本文标题:ES6字符串

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