# ES6 全部特性
# ES2015
let/const
箭头函数
iterator 迭代器
- (解构赋值,剩余/扩展运算符,生成器,for of 循环)
- Array Map Set String TypedArray(类数组) 函数的 arguments 对象 NodeList 对象 自带 Symbol.iterator 方法
- for in for of 区别
// for...in 语句以任意顺序迭代对象的可枚举属性。 //for...of 语句遍历可迭代对象定义要迭代的数据。 Object.prototype.objCustom = function() {} Array.prototype.arrCustom = function() {} let iterable = [3, 5, 7] iterable.foo = 'hello' for (let i in iterable) { console.log(i) // logs 0, 1, 2, "foo", "arrCustom", "objCustom" } for (let i in iterable) { if (iterable.hasOwnProperty(i)) { console.log(i) // logs 0, 1, 2, "foo" } } for (let i of iterable) { console.log(i) // logs 3, 5, 7 }
解构赋值
- 解构赋值可以直接使用对象的某个属性,而不需要通过属性访问的形式使用
# ES2016
- 数值扩展
- 指数运算符(**):数值求幂(相当于 Math.pow())
- 数组扩展
- includes():是否存在指定成员