物件資料屬性的特性中 writable, configurable,enumerable 預設值到底是啥!!
阿新 • • 發佈:2020-10-20
總結
物件資料屬性的特性中 writable, configurable,enumerable 預設值是需要分情況討論的!!!
1)在使用Object.defineProperty()、Object.defineProperties() 或 Object.create()
函式的情況下新增資料屬性,writable、enumerable和configurable
預設值為false。
2)使用物件直接量建立的屬性,writable、enumerable和configurable
特性預設為true。
正文內容
var obj = { //注意!!這裡沒有定義屬性 } Object.defineProperty(object1, 'property1', { value: 42, writable: false }); Object.defineProperties(object1, { 'property1': { value: true, writable: true }, 'property2': { value: 'Hello', writable: false } // etc. etc. });
在上述程式碼中物件屬性的writable、enumerable和configurable預設值為false
var obj = {
//注意!!這裡定義了屬性
name:’me’
}
Object.defineProperty(obj, ‘name’, {
value: 'Change me'
});
在上述程式碼中name的writable、enumerable和configurable預設值為true