什麼是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
廣告
資料結構
網路
關係資料庫管理系統 (RDBMS)
作業系統
Java
iOS
HTML
CSS
Android
Python
C語言程式設計
C++
C#
MongoDB
MySQL
Javascript
PHP