JavaScript對象之屬性標籤

本文介紹一下js對象的屬性標籤(configurable、writable、enumerable、value、get、set)的使用。html

上圖的要點爲:post

1.Object.getOwnPropertyDescriptor(obj,attr)能夠獲取屬性標籤的信息。url

2.configurable控制屬性是否可配置,writable控制屬性是否可直接修改,enumerable控制屬性是否可被枚舉出來。3d

上圖中Object.keys(person)不會輸出不能被枚舉的對象屬性。htm

上圖的要點爲:對象

1.使用Object.defineProperties可定義對象的多個屬性。blog

2.未設置的屬性標籤的默認值是false。ip

上圖經過重寫promote屬性的setter,使得當給promote賦值爲2後,人的工資發生改變。感受像Java的面向對象中的類。get

這裏的get和set的語法和JavaScript對象之get/set方法中的語法略有不一樣,可是其實本質是同樣的。it

上圖的要點爲:

1.writable只限制了可否直接賦值。

2.configurable爲false依然能直接修改屬性的值。

3.若writable和configurable都是false,則沒法進行屬性的修改。

相關文章
相關標籤/搜索