屬性描述符

2021-10-09 02:57:06 字數 2177 閱讀 1008

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...