什么是JavaScript中的不可枚举属性,如何创建它?


不可枚举属性

对象可以拥有在使用**Object.keys()**或**for...in**循环遍历特定对象时不会显示的属性。这些类型的属性称为**不可枚举**属性。

创建不可枚举属性

要创建不可枚举属性,我们必须使用**Object.defineProperty()**方法。这是一种创建对象**不可枚举**属性的特殊方法。

在下面的示例中,name、age和country三个属性是正常创建的,而名为“salary”的属性是使用**Object.defineProperty()**方法创建的,名为enumerable的键被赋值为**false**。当使用Object.keys()迭代对象“person”时,name、age和country属性会显示出来,而属性“salary”则不会显示。由于salary属性无法显示,因此它被称为不可枚举属性。这就是创建不可枚举属性的方法。

**Object.defineProperty()**还可以让我们创建只读属性,如下所示,我们无法修改person对象的salary值。要使salary属性可枚举,请将名为**enumerable**的**键**赋值为**true**。

示例

在线演示

<html>
<body>
<script>
   var person = {
      name: 'gopal'
   };
   person.age = '21';
   person['country'] = 'India';
   Object.defineProperty(person, 'salary',{
      value : '80,000$',
      enumerable: false
   })
   document.write(Object.keys(person));
</script>
</body>
</html>

输出
name,age,country

更新于:2019年7月30日

2K+ 次浏览

启动您的职业生涯

完成课程获得认证

开始
广告
© . All rights reserved.