对象的扩展
Object.is(val1,val2) 类似===
+0 -0 false
NaN NaN true
Object.assign(target,o1,o2…)
复制或者合并对象 目标对象target
实例的原型对象
Object.getPrototypeOf(obj) 获取原型对象
Object.setPrototypeOf(obj,protoObj) 将protoObj设置为obj的原型对象
obj.keys() 返回可遍历的属性的属性名组成的数组
obj.values() 返回可遍历的属性的属性值组成的数组
obj.entries() 返回可遍历的属性的键值对组成的数组 [[key,value],[key,value],[key,value]]
函数的扩展
函数参数默认值的设置,length属性会发生改变
rest参数
function test(…a){}
箭头函数
()=>{}
内部this指向箭头函数声明时候的外部this
内部arguments不保存实参
数组的扩展
Array.from() 将有Iterator接口实现的数据结构转成数组,可以for-of
Array String Set Map 类数组对象
Array.of() 返回实参组成的数组,弥补new Array(10)
arr.fill(param) 使用实参填充数组
arr.find((item,index,arr)=>{})
查找符合条件的元素,返回第一个符合条件的元素或者undefined
arr.findIndex((item,index,arr)=>{})
查找符合条件的元素,返回第一个符合条件的元素的索引或者-1
arr.includes(param) 查找元素是否在数组中,返回true/false
arr.keys() 返回遍历器对象,内部存放的是index
arr.values() 返回遍历器对象,内部存放的是item
arr.entries() 返回遍历器对象,内部存放的是[index,item]
遍历遍历器对象,有Iterator接口,for-of遍历
for(let key of arr.keys()){
console.log(key);
}