es新增的常用方法
1.字符串:
includes():返回布尔值,表示是否找到了参数字符串
startsWith(), endsWith(),返回布尔值,表示参数字符串是否在原字符串的头部/尾部
repeat(),返回一个新字符串,表示将原字符串重复n次
padStart(),padEnd(), 字符串补全长度的功能
trimStart(),trimEnd() 消除字符串头部/尾部的空格
2.数组:
扩展运算符(...),含有Iterator迭代器接口的都可以使用
let str = 'abc'
...str // a b c
let arr = [1,2,3]
...arr // 1,2,3
let set = new Set([1,2,3,4])
...set // 1,2,3,4
含有迭代器接口的:
- Array
- Map
- Set
- String
- TypedArray
- 函数的 arguments 对象
- NodeList 对象
Array.from 将类数组,转换成数组
Array.of 用于将一组值,转换成数组,或者创建数组
copyWithin 将制定位置的成员赋值到其他位置
接收3个参数
target 从该位置开始替换数据
start 开始位置
end moren 默认位置
let arr = [1,2,3,4,5]
arr.copyWithin(0,3,4) //[42345]
find() 用于找出第一个符合条件的数组成员 成员值 可以发现NaN弥补了数组的indexOf方法的不足
findIndex() 返回第一个符合条件的数组成员的位置 数组下标 可以发现NaN弥补了数组的indexOf方法的不足
fill() fill方法使用给定值,填充一个数组,组中已有的元素,会被全部抹去。三个参数:要填充的值、开始填充位置,结束位置
entries(),keys() 和 values()
includes() 第二个参数表示搜索的起始位置,默认为0
flat() 扁平化数组,把多维数组变成一维数组,返回新数组,参数为要拉平的层数,不能确定层数可以使用Infinity
flatMap() 只能展开一层数组 对原数组的每个成员执行一个函数。后对返回值组成的数组执行flat()方法。该方法返回一个新数组
3.对象的
属性直接表示法,键值同名,写一个就行
对象的扩展运算符(对象没有Iterator接口,要借助Object.keys())
链式运算符
let person = {
man:{
name:"小孩"
}
}
person?.man?.name //小孩
person?.age //取不到就不会往后读取了
省的if else 判断了
Object.is() 判断两个值是否严格相等,相当于全等判断(===)
Object.assign() 用于对象都得合并,两个参数,参数2添加到参数1中,浅拷贝;处理数组 : Object.assign([1, 2, 3], [4, 5]) //[4,5,3] 按下标替换
Object.getOwnPropertyDescriptors() 返回某个对象属性的描述对象