欣迪

在 JavaScript 中,Proxy是一個特殊的物件,它允許你建立一個代理中介,用來控制對另一個物件的訪問。Proxy可以用來攔截和定製對物件的各種操作,例如訪問屬性、設定屬性、呼叫方法等。這使得開發者能夠在物件上添加額外的邏輯,或者修改默認行為。

// 目標物件
const target = {
  name: 'Heisenberg',
  age: 50
};

// 創建一個 Proxy
const proxy = new Proxy(target, {
  // 攔截 get 操作
  get: function(target, prop, receiver) {
    console.log(`讀取屬性: ${prop}`);
    return target[prop];
  },
  // 攔截 set 操作
  set: function(target, prop, value, receiver) {
    console.log(`設定屬性: ${prop} 值為 ${value}`);
    target[prop] = value;
    return true;
  }
});

// 使用 Proxy
console.log(proxy.name);  // 讀取屬性: name, 輸出: Heisenberg
proxy.age = 31;          // 設定屬性: age 值為 50
console.log(proxy.age);   // 讀取屬性: age, 輸出: 50

們使用Proxy來建立一個代理,並定義了getset兩個操作的攔截器。當我們訪問或設定proxy的屬性時,攔截器會執行相應的代碼。

訂閱 IT-Monk

訂閱最新文章的發布消息! 😚😚😚
Loading

作者介紹 - 欣迪

欣迪

從設計到寫程式,發現自己有追求前端技巧的自虐傾向。不斷的踩坑,再從坑裡爬出來,慢慢對攀岩有點心得。 目前在多間公司擔任網站設計顧問。 同時也是網站架設公司負責人。