JavaScript 中的 proxy() 对象有什么用?
javascriptobject oriented programmingfront end technology更新于 2025/6/27 21:00:17
Proxy()
ECMAScript 6 引入的新功能之一是 proxy() 对象。 Proxy() 对象用于定义基本操作的自定义行为(例如,属性查找、赋值、枚举、函数调用等)。
Proxy() 对象包含 3 个关键术语
1) handler - 它是一个包含陷阱的占位符对象。
2) traps - 陷阱提供属性访问。
3) target - 它是一个代理虚拟化的对象。
语法
var p = new Proxy(target, handler);
在下面的例子中,有一个名为 'p' 的对象,它有一些属性。当我们尝试执行对象中未定义的属性时,将执行 undefined,如输出所示。
示例
<html>
<body>
<script>
var p = {
Name: 'Ram kumar',
Age: 27
};
document.write(person.Name);
document.write("</br>");
document.write(person.Age);
document.write("</br>");
document.write(person.designation);
</script>
</body>
</html>
输出
Ram kumar 27 undefined
当使用 proxy() 时,我们可以消除未定义的输出。Proxy() 尝试使用"get"关键字捕获未知属性。在 proxy() 内定义的处理程序会将 target 和请求的键名传递到"get"陷阱中。
在下面的例子中,对象"p"最初没有指定和角色。但后来当 proxy() 出现时,对象及其属性被使用"get"捕获,并且未分配的属性显示如输出中所示。
示例
<html>
<body>
<script>
var p = {
Name: 'Ram kumar',
Age: 27
};
var handler = {
get: function(target, prop) {
return prop in target ? target[prop] : 'Content developer';
}
};
var prox = new Proxy(p, handler);
document.write(prox.Name);
document.write("</br>");
document.write(prox.Age);
document.write("</br>");
document.write(prox.designation);
document.write("</br>");
document.write(prox.role);
</script>
</body>
</html>
输出
Ram kumar 27 content developer content developer
相关文章
有用资源
javascript 参考教程 - 该教程包含有关 javascript 的更多信息:https://www.cainiaomax.com/javascript/

