摘要:
Object.is() ES5 比较两个值是否相等,只有两个运算符:相等运算符(==)和严格相等运算符( )。它们都有缺点,前者会自动转换数据类型,后者的NaN不等于自身,以及+0等于-0。JavaScript 缺乏一种运算,在所有环境中,只要两个值是一样的,它们就应该相等。 ES6 提出“Same 阅读全文
摘要:
对象的扩展运算符 扩展运算符(...)。ES2018 将这个运算符引入了对象。 解构赋值 对象的解构赋值用于从一个对象取值,相当于将目标对象自身的所有可遍历的(enumerable)、但尚未被读取的属性,分配到指定的对象上面。所有的键和它们的值,都会拷贝到新对象上面。 上面代码中,变量z是解构赋值所 阅读全文
摘要:
super 关键字 我们知道,this关键字总是指向函数所在的当前对象,ES6 又新增了另一个类似的关键字super,指向当前对象的原型对象。 上面代码中,对象obj.find()方法之中,通过super.foo引用了原型对象proto的foo属性。 注意,super关键字表示原型对象时,只能用在对 阅读全文
摘要:
属性的简洁表示法 ES6 允许直接写入变量和函数,作为对象的属性和方法。这样的书写更加简洁。 上面代码表明,ES6 允许在对象之中,直接写变量。这时,属性名为变量名, 属性值为变量的值。下面是另一个例子。 除了属性简写,方法也可以简写。 下面是一个实际的例子。 这种写法用于函数的返回值,将会非常方便 阅读全文