面试题答案
一键面试Proxy 的作用
Proxy 用于创建一个对象的代理,从而实现基本操作的拦截和自定义(如属性查找、赋值、枚举、函数调用等)。它可以在不直接修改对象的情况下,对对象的各种操作进行控制和扩展,比如实现数据验证、日志记录、访问控制等功能。
示例代码
const target = {
name: '原始值'
};
const handler = {
get(target, property) {
if (property === 'name') {
return '自定义值';
}
return target[property];
}
};
const proxy = new Proxy(target, handler);
console.log(proxy.name);
在上述示例中,通过 Proxy
创建了 target
对象的代理 proxy
。在 handler
中定义了 get
方法来拦截属性读取操作。当读取 proxy
的 name
属性时,会返回自定义的值 '自定义值'
而不是 target
对象原本的 '原始值'
。