您希望将enumerable
设置为true
,使用Object.create的用法是什么?
答案 0 :(得分:10)
如果希望在遍历所有对象属性时能够访问对象的属性,则该属性应该是可枚举的。例如:
var obj = {prop1: 'val1', prop2:'val2'};
for (var prop in obj){
console.log(prop, obj[prop]);
}
在这种类型的实例化中,enumerable始终为true,这将为您提供输出:
prop1 val1
prop2 val2
如果你像这样使用Object.create():
obj = Object.create({}, { prop1: { value: 'val1', enumerable: true}, prop2: { value: 'val2', enumerable: false} });
你的for循环只能访问prop1,而不是prop2。使用Object.create()默认情况下,属性设置为enumerable = false。