1. 程式人生 > 實用技巧 >物件資料屬性的特性中 writable, configurable,enumerable 預設值到底是啥!!

物件資料屬性的特性中 writable, configurable,enumerable 預設值到底是啥!!

總結

物件資料屬性的特性中 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