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

标签 javascript object enumeration ecmascript-5 enumerable

Object.create有哪些用途?是否要将 enumerable 设置为 true

最佳答案

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

var obj = {prop1: 'val1', prop2:'val2'};
for (var prop in obj){
  console.log(prop, obj[prop]);
}

在这种类型的实例化中,enumerable 始终为真,这将为您提供以下输出:

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。

关于javascript - Object.create 中的可枚举参数是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9039860/

相关文章:

c# - 访问数组中的对象属性

php - 按键值对PHP中对象数组的数组进行排序

javascript - 使用 JavaScript 自定义比较函数合并两个对象数组

Objective-c: block 和 NSEnumerationConcurrent 的问题

Java:多次使用枚举

javascript - 制作所有图像的来源 https ://using *. user.js

javascript - 我的代码的平滑效果

design-patterns - 您使用的是 C++ 中的哪种类型安全枚举?

javascript - 传递到下划线模板的数据未定义

javascript - HTML5 视频播放按钮重叠问题