扩展运算符和Object.assign

二者等价,扩展运算符性能较好

array.indexOf( ) 和array.includes( )

两者都是用来判断数组是否包含某一元素,array.indexOf()采用的是 === 比较,而array.includes()采用了SameValueZero比较,其实现采用了Map和Set,采用这种比较最直接的收益就是可以判断NaN

  1. [NaN].includes(NaN) // true
  2. [NaN].indexOf(NaN) // false

增强的对象属性

  • 解构初始化多个变量

    1. let [x, y] = ['a', 'b']
    2. // 效果等同于
    3. let x = 'a'
    4. let y = 'b'
  • 属性简写

    1. let [x, y] = ['a', 'b']
    2. let obj = {x, y}
    3. // 效果等同于
    4. var x = 'a'
    5. var y = 'b'
    6. var obj = {x: x, y: y}