JavaScript屬性描述符

屬性描述符的解釋以及它們的作用

JavaScript中的任何對像都有一組屬性,並且每個屬性都有一個描述符

這是一個定義屬性行為和自己的屬性的對象。

許多對象靜態方法與之交互。這些方法包括:

這是一個屬性描述符對象的示例:

{
  value: 'Something'
}

這是最簡單的一個。value是鍵值定義中的屬性值。這key在對像中定義此屬性時,將其定義為對象鍵:

{
  breed: {
    value: 'Siberian Husky'
  }
}

例子:

const animal = {}
const dog = Object.create(animal, {
  breed: {
    value: 'Siberian Husky'
  }
});
console.log(dog.breed) //'Siberian Husky'

您可以傳遞其他屬性來定義每個不同的對象屬性:

  • 價值:財產的價值
  • 可寫的:true可以更改屬性
  • 可配置的:如果為false,則不能刪除該屬性,也不能更改任何屬性,但其值除外
  • 數不清的:如果該屬性是可枚舉的,則為true
  • 得到:屬性的getter函數,在讀取屬性時調用
  • :屬性的setter函數,在將屬性設置為值時調用

writableconfigurableenumerable設置該屬性的行為。它們具有布爾值,默認情況下,它們都是false

例子:

const animal = {}
const dog = Object.create(animal, {
  breed: {
    value: 'Siberian Husky',
    writable: false
  }
});
console.log(dog.breed) //'Siberian Husky'
dog.breed = 'Pug' //TypeError: Cannot assign to read only property 'breed' of object '#<Object>'

免費下載我的JavaScript初學者手冊


更多js教程: