在 ECMAScript 5 中定义属性属性的首选方法是什么?据我了解,至少有两种方法:
function Foo () {
Object.defineProperties(this, {
'a': {
value: "A",
writable: false
},
'b': {
value: "B",
writable: true,
enumerable: true
}
});
}
var f = new Foo();
或者:
var Foo = Object.create({}, {
'a': {
value: "A",
writable: false
},
'b': {
value: "B",
writable: true,
enumerable: true
}
});
};
var f = Object.create(Foo);
除了使用new
vs实例化的优点之外Object.create
,使用 定义属性是否会影响性能Object.defineProperties()
,就像第一个示例中一样?两者是等价的吗?对可读性有共识吗?