Javascript Object.create中的可枚举参数是什么?

Javascript Object.create中的可枚举参数是什么?,javascript,object,enumeration,ecmascript-5,enumerable,Javascript,Object,Enumeration,Ecmascript 5,Enumerable,您想将可枚举设置为真的什么用法?如果您希望在遍历所有对象属性时能够访问该对象的属性,则该对象的属性应该是可枚举的。例如: var obj = {prop1: 'val1', prop2:'val2'}; for (var prop in obj){ console.log(prop, obj[prop]); } 在这种类型的实例化中,enumerable始终为true,这将为您提供以下输出: prop1 val1 prop2 val2 如果您使用Object.create()如下所示:

您想将
可枚举
设置为
的什么用法?

如果您希望在遍历所有对象属性时能够访问该对象的属性,则该对象的属性应该是可枚举的。例如:

var obj = {prop1: 'val1', prop2:'val2'};
for (var prop in obj){
  console.log(prop, obj[prop]);
}
在这种类型的实例化中,enumerable始终为true,这将为您提供以下输出:

prop1 val1
prop2 val2
如果您使用Object.create()如下所示:


for循环只能访问prop1,而不能访问prop2。使用Object.create()默认情况下,属性设置为enumerable=false。

注意
对象中的
enumerable
默认为false。create
谢谢,我指的是另一个实例化。我忘了提那件事了。我将编辑我的答案
obj = Object.create({}, { prop1: { value: 'val1', enumerable: true}, prop2: { value: 'val2', enumerable: false} });