iT邦幫忙

2024 iThome 鐵人賽

DAY 9
0
自我挑戰組

認識JavaScript系列 第 9

[第九天] Proxy 代理

  • 分享至 

  • xImage
  •  

定義
攔截對另一個物件的操作。

語法

const p = new Proxy(target, handler);

target: 要使用proxy的目標。
handler: 代理p的執行。

範例

let target = { message: "Hello World!" };

let handler = { 
    get: function(target, prop, receiver) {
        console.log('讀取屬性: ${prop}');
        return target[prop] == null ? "屬性不存在" : target[prop];
    }};

let proxy = new Proxy(target, handler);

console.log(proxy.message);
console.log(proxy.massage);

分別印出:
Hello World!
讀取屬性: massage
屬性不存在

target有一個屬性是message
那handler是要讀取屬性並且回傳
所以當proxy代理時,
messsage這個屬性存在, 所以印出來.
而massage不存在, 就是印false的答案.


上一篇
[第八天] event delegation
下一篇
[第十天] Set
系列文
認識JavaScript30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言