2 回答

TA貢獻2039條經(jīng)驗 獲得超8個贊
您可以使用 aProxy
來處理動態(tài)獲取和設置操作。
class Class {
? constructor() {
? ? return new Proxy(this, {
? ? ? get(target, prop, receiver) {
? ? ? ? return target['_' + prop];
? ? ? },
? ? ? set(obj, prop, value) {
? ? ? ? obj['_' + prop] = value;
? ? ? ? console.log('value changed');
? ? ? }
? ? });
? }
}
let storageClass = new Class;
storageClass['value'] = 'Hello World';
document.write(storageClass.value);

TA貢獻1802條經(jīng)驗 獲得超6個贊
get/set
您可以使用 ES6 構造為所有屬性創(chuàng)建Proxy
,它允許您為對象實現(xiàn)低級方法(例如get
,在訪問任何屬性時調用該方法)。
請注意,作為一項 ES6 功能,它具有廣泛但不通用的瀏覽器支持(例如,在 Internet Explorer 中不起作用),并且無法進行多填充,因為它使用的功能在舊版本的 JavaScript 中不存在。
添加回答
舉報