文章目錄
- 前文提要
- Object.defineProperty作用
- Object.defineProperty參數
- 使用例圖
- getter,也就是get函數
- setter,也就是set函數
前文提要
本人僅做個人學習記錄,如有錯誤,請多包涵
Object.defineProperty作用
當在js中聲明了一個變量,可以通過Object.defineProperty給已經確定屬性的變量增加新的屬性。
但是新增加的屬性,如果沒有經過修改,默認無法枚舉(查詢的時候有,但是無法出現在數組之中,例如Object.keys(person)中),無法被修改,無法被刪除
除非特別設置
可以將enumerable設置為true來允許枚舉,
將writable設置為true來允許修改,
將configurable來允許刪除
Object.defineProperty參數
第一個參數是需要修改的變量,第二個是新增的屬性,第三個是一個對象,里面有一系列的設置
使用例圖
getter,也就是get函數
當有人查看了defineProperty這個這個函數這次修改的屬性的時候,例如在控制臺console輸入person.age,getter會自動調用
setter,也就是set函數
當有人查看了defineProperty這個這個函數這次修改的屬性的時候,例如在控制臺console輸入person.age = 20,setter會自動調用
至此,結束。
如果你覺得這篇文章寫的不錯,多多點贊~收藏吧!