📜  JavaScript 中的可枚举属性是什么意思?

📅  最后修改于: 2022-05-13 01:56:51.820000             🧑  作者: Mango

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