这次准备细致的学习一下es6,写个博客记录下觉得可能有用的东西 ps:看的是阮一峰老师的es6入门经典,这里先感谢阮老师。
首先是字符串的拓展::
1.
for..of..
遍历字符串,例:
for (let i of 'new') {
console.log(i)
}
// "n"
// "e"
// "w"
优点是可以识别大于0xFFFF的码点。
2.
str1.includes(str2,num);//str1是否包含str2,开始位置
str1.startsWith(str2,num);//str1是否以str2开头,开始位置
str1.endsWith(str2,num);//str1是否str2结尾,前num个字符是否以str2结尾
3.
str.repeat(num);//返回str重复num次生成的字符串
num为小数是,取整;NaN或0是,空字符串;字符串时,先类型转换;负数:0=>-1,因为会先取整所以返回空字符串,其他负数报错;Infinity:报错;
4.
str.padStart,padEnd(length,str1);
当str长度大于等于length时,返回原字符串;当str长度不足length时,用str1补足,str1多余时舍去;str1默认为空格
5.
模板字符串:`
${ variate } => 在模板字符串中引入变量,也可以是js表达式或者是函数的调用
正则的拓展::
1.
支持正则的四种字符串方法:match(),replace(),search(),split()
2.
新增修饰符 y
确保下一次匹配从剩下字符串的第一个字符开始匹配
3.
reg.flags // 返回正则修饰符
4.
/\d+(?=%)/ //匹配百分号前面的数字
/\d+(?!%)/ //匹配不是百分号前面的数字
数值的拓展::
1.
Number(num) //转换为number类型,如果不是10进制的会转换为10进制
2.
Number.isFinite(param) //判断参数是否是有限数值类型 只有 有限的 数值类型 才会返回true
3.
Number.isNaN(param);Number.isInteger(param);是否是NaN或者是否是整数
4.
Number.trunc();//返回整数部分或者NaN
5.
Math.cbrt();//求立方根
6.
** // 指数运算符
**= => b**=3 b = b*b*b
数组拓展::
1.
Array.from() ;// 将类数组转换为真正的数组类型,适用于任何有length属性的对象
2.
Array.of(); // 将一组值转换为数组,可用于数组的初始化
3.
arr.find(function(){}); // 返回function返回true时 arr的值
arr.findIndex(function(){});// 返回function返回true时 arr值的下标
4.
arr.fill(); //初始化数组时使用,用参数填充数组,第二三个参数指定起止位置,左闭右开
//