property descriptor 屬性描述符 是乙個普通物件,用於描述乙個屬性的相關資訊通過
object.getownpropertydescriptor(物件, 屬性名)
可以得到乙個物件的某個屬性的屬性描述符object.getownpropertydescriptors(物件)
可以得到某個物件的所有屬性描述符如果需要為某個物件新增屬性時 或 修改屬性時, 配置其屬性描述符,可以使用下面的**:
object.
defineproperty
(物件, 屬性名, 描述符)
;object.
defineproperties
(物件, 多個屬性的描述符)
const obj =
;object.
defineproperty
(obj,
"a",);
obj.a =10;
//無法修改了
多個屬性的描述符
object.
defineproperties
(obj,
, b:})
;
屬性描述符中,如果配置了 get 和 set 中的任何乙個,則該屬性,不再是乙個普通屬性,而變成了訪問器屬性。get 和 set配置均為函式,如果乙個屬性是訪問器屬性,則讀取該屬性時,會執行get方法,將get方法得到的返回值作為屬性值;如果給該屬性賦值,則會執行set方法。
訪問器屬性最大的意義,在於可以控制屬性的讀取和賦值。
屬性描述符
在es5開始,所有屬性都具備了屬性描述符。我們可以通過object.getownpropertydescriptor來觀察到屬性的描述符,它是長這樣子的。object.getownpropertydescriptor a writable決定該屬性是否唯讀。enumerable決定該屬性是否可列舉。...
物件屬性描述符
從 es5 開始,物件的屬性都具備了屬性的描述符,它能設定屬性的特性。我們可以使用 object.defineproperty 來新增或者配置乙個屬性並對它的特性進行配置。屬性有 writable enumerable 和 configurable 這三個或之一都為屬性描述符。一.writable ...
Object 屬性描述符
屬性描述符是乙個普通的物件中用來描述屬性的相關資訊。object.getownpropertydescriptor 返回指定屬性描述符 返回物件的key屬性的屬性描述 屬性描述 value 屬性值configurable 該屬性是否可以被屬性描述符修改 enumerable 是否可以列舉 writa...