当前位置: 首页>>代码示例 >>用法及示例精选 >>正文


JavaScript Proxy()用法及代码示例


JavaScript proxy() 构造函数用于返回对象的代理构造函数(例如属性查找、赋值、枚举、函数调用等)。

用法:

let p = new Proxy(target, handler);

参数:代理对象接受如上所述和如下所述的两个参数:

  • target:用 Proxy 包装的目标对象(可以是任何类型的对象,包括函数、类,甚至另一个代理)。
  • handler:一个对象,其属性是定义代理在对其执行操作时的行为的函数。

例子:

HTML


const Person = {
    Name: 'John Nash',
    Age: 25
};
const handler = {
    // target represents the Person while prop represents
    // proxy property.
    get: function (target, prop) {
        if (prop === 'FirstName') {
            return target.Name.split(' ')[0];
        }
        if (prop === 'LastName') {
            return target.Name.split(' ').pop();
        }
        else {
            return Reflect.get(target, prop);
        }
    }
};
const proxy1 = new Proxy(Person, handler);
console.log(proxy1);
// Though there is no Property as FirstName and LastName,
// still we get them as if they were property not function.
console.log(proxy1.FirstName);
console.log(proxy1.LastName);

输出:

[object Object]
John
Nash

注意:如果安装了NodeJs,上面的代码可以直接在终端中运行,否则通过将上面的内容粘贴到脚本标签中来在 HTML 文件中运行它,并在任何 Web 浏览器的控制台中检查输出。


相关用法


注:本文由纯净天空筛选整理自imdhruvgupta大神的英文原创作品 JavaScript Proxy() Constructor。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。