2 回答

TA貢獻1794條經(jīng)驗 獲得超8個贊
訪問器描述符和數(shù)據(jù)描述符之間的主要區(qū)別是訪問器用 get 和 set 函數(shù)替換值和可寫配置標志。更多信息在這里
數(shù)據(jù)描述符
Object.defineProperty(obj, 'key', {
enumerable: false,
configurable: false,
writable: true,
value: 'some value'
});
訪問器描述符
Object.defineProperty(obj, 'key', {
enumerable: false,
configurable: false,
get() {
return this.some_value;
},
set(data) {
this.some_value = 'some value';
}
});

TA貢獻1906條經(jīng)驗 獲得超10個贊
對象中的屬性描述符有兩種主要類型:數(shù)據(jù)描述符和訪問器描述符。數(shù)據(jù)描述符是具有值的屬性,該值可能是也可能不是可寫的。訪問器描述符是由一對 getter-setter 函數(shù)描述的屬性。描述符必須是這兩種風格之一;不可能兩者兼而有之。
數(shù)據(jù)描述符定義{value: any; writable: boolean;}
定義的訪問器描述符{ get(){}, set(value){} }
您可以/必須定義一個或另一個,不能將 getter/setter 與可寫或其他一些交叉一起使用。
兩者都允許 等屬性enumerable
。
添加回答
舉報