MST

星途 面试题库

面试题:JavaScript代理对象的基本使用

请使用JavaScript的Proxy对象创建一个代理,拦截对象的属性读取操作,当读取不存在的属性时,返回一个默认值'not found'。并解释Proxy对象的构造函数参数的含义。
24.1万 热度难度
编程语言JavaScript

知识考点

AI 面试

面试题答案

一键面试
const target = {};
const handler = {
  get(target, property) {
    if (!(property in target)) {
      return 'not found';
    }
    return target[property];
  }
};
const proxy = new Proxy(target, handler);

// 测试
console.log(proxy.name); 

Proxy对象构造函数参数含义

  1. target:要使用Proxy包装的目标对象(可以是任何类型的对象,包括原生数组,函数,甚至另一个代理)。
  2. handler:一个通常以对象字面量形式定义的对象,其属性是当执行一个操作时定义代理的行为的函数。在上述代码中,handler对象的get方法定义了在读取属性时代理的行为。