JavaScript对象功能扩展与解构赋值:提升开发效率的利器
1. 重复对象字面量属性
在ES5严格模式下,对对象字面量中的重复属性进行了检查,如果发现重复属性会抛出错误。例如:
"use strict";
var person = {
name: "Nicholas",
name: "Greg" // syntax error in ES5 strict mode
};
当在ES5严格模式下运行时,第二个 name 属性会导致语法错误。但在ES6中,移除了对重复属性的检查。严格模式和非严格模式的代码都不再检查重复属性,而是给定名称的最后一个属性成为该属性的实际值,如下所示:
"use strict";
var person = {
name: "Nicholas",
name: "Greg" // no error in ES6 strict mode
};
console.log(person.name); // "Greg"
在这个例子中, person.name 的值是 "Greg" ,因为这是最后赋给该属性的值。
2. 自有属性枚举顺序
ES5没有定义对象属性的枚举顺序,由JavaScript引擎厂商自行决定。然而,ES6严格定义了枚举自有属性时必须返回
超级会员免费看
订阅专栏 解锁全文
961

被折叠的 条评论
为什么被折叠?



