Skip to content

输出什么?

Posted on:2021年7月3日 at 22:33
const handler = {
  set: () => console.log("Added a new property!"),
  get: () => console.log("Accessed a property!"),
};

const person = new Proxy({}, handler);

person.name = "Lydia";
person.name;

使用 Proxy 对象,我们可以给一个对象添加自定义行为。在这个 case,我们传递一个包含以下属性的对象 handler : set and get。每当我们 设置 属性值时 set 被调用,每当我们 获取get 被调用。 第一个参数是一个空对象 {},作为 person 的值。对于这个对象,自定义行为被定义在对象 handler。如果我们向对象 person 添加属性,set 将被调用。如果我们获取 person 的属性, get 将被调用。 首先,我们向 proxy 对象(person.name = "Lydia")添加一个属性 nameset 被调用并输出 "Added a new property!"。 然后,我们获取 proxy 对象的一个属性,对象 handler 的属性 get 被调用。输出 "Accessed a property!"

原文转自:https://fe.ecool.fun/topic/6a8b4695-3386-491a-8711-2dd53eba399e