JavaScript 中的可枚举属性是什么意思?
JavaScript 中的可枚举属性意味着如果使用 for...in 循环或 Object.keys() 方法迭代该属性,则可以查看该属性。默认情况下,通过简单赋值或属性初始化器创建的所有属性都是可枚举的。
示例 1:
输出:
registration
name
age
marks
示例 2:由于所有属性都由属性初始化器初始化,因此默认情况下它们都将 enumerable 设置为 true。要显式更改属性的内部可枚举属性,使用Object.defineProperty()方法。此外,要检查属性是否可枚举,我们使用函数propertyIsEnumerable() 。如果属性是可枚举的,则返回 true,否则返回 false。
输出:
true
true
true
false
注意:使用 defineProperty() 方法创建的属性将可枚举标志设置为 false。当使用 for 循环运行上述代码时,“marks”属性不可见。
// This will not print the property
// Who's enumerable property is set to false
for (const key in student){
console.log(key)
}
输出:
registration
name
age