5.字符串新增
1.ES6 为字符串添加了遍历器接口;可以被for..of循环便利
2.模版字符串``
空格,换行原样输出
变量的引入${str},
{}内支持js运输;
如果是函数,会运行函数并返回函数的返回值,没有返回undefine;
模版编译
标签模版
不能嵌入其他语言
3.字符串新增方法
(1)replaceAll(str | //g,''):可以一次性替换所有匹配内容;如果是正则,必须带/g
(2)at():at()方法接受一个整数作为参数,返回参数指定位置的字符,支持负索引(即倒数的位置)。没有返回undefine
(3)includes(str):返回布尔值,表示是否找到了参数字符串。
(4)startsWith(str):返回布尔值,表示参数字符串是否在原字符串的头部。
(5)endsWith(str):返回布尔值,表示参数字符串是否在原字符串的尾部。
(6)repeat(number):返回重复指定次数的字符串,小于-1的报错,小树取整舍小;
(7)padStart(lenght,str):从开始字符串补全指定长度
(8)padEnd(length,str):从结束字符串不全指定长度
(9)trimStart():开始去空格
(10)trimEnd():结束去空格
(11)matchAll():方法返回一个正则表达式在当前字符串的所有匹配
(12)raw():返回一个斜杠都被转义(即斜杠前面再加一个斜杠)的字符串
关于字符类型的转换
fromCodePoint(code):于从 Unicode 码点返回对应字符,但是这个方法不能识别码点大于0xFFFF的字符
codePointAt():能够正确处理 4 个字节储存的字符,返回一个字符的码点。
normalize():用来将字符的不同表示方法统一为同样的形式,这称为 Unicode 正规化。
6.数组的新增
(1)扩展符...,可以指定默认值;
(2)Array.from():类似数组的对象(array-like object)和可遍历(iterable)的对象转数组
(3)Array.of()方法用于将一组值,转换为数组。
(4)fill(value)方法使用给定值,填充一个数组。
(5)copyWithin(target, start, end)方法,在当前数组内部,将指定位置的成员复制到其他位置(会覆盖原有成员),然后返回当前数组。也就是说,使用这个方法,会修改当前数组。
(6)at(number),返回指定位置的数组项,负数从后倒数,超出返回undefine
(7)includes():方法返回一个布尔值,表示某个数组是否包含给定的值
(8)find((value, index, arr)=>{}) 找出第一个符合条件的数组成员,没有返回undefined
(9)findIndex((value, index, arr)=>{}),遇上同,返回的是index下标,没有返回-1
(10)entries(),keys()和values():用于遍历数组
(11)flat(number)用于将嵌套的数组“拉平”:不改变元数组,number拉平几层;默认为1,Infinity为拉成一维数组
备注:数组新增的遍历方法,使用break,continute,结束循环会报错,使用return可以解除单词循环,因为他本身的便利方法的入参是一个函数,并不是for循环,所以使用break,continute会报错;