ES6(Proxy 和 Reflect)

简介: Proxy 和 Reflect1.Proxy 和 Reflect 的概念Proxy 意为 ‘代理’,连接了用户和真实对象之间的一个层Reflect 意为‘反射’   反射的是Object2.适用场景 一、Proxy 语法1.类似于供应商的原始对象 obj ,通过 Proxy 新生成对象,这个对象是映射 Object 的,用户访问 monitor,通过 Proxy ,再传递给 obj 对象。

Proxy 和 Reflect

1.Proxy 和 Reflect 的概念

Proxy 意为 ‘代理’,连接了用户和真实对象之间的一个层

Reflect 意为‘反射’   反射的是Object

2.适用场景

 

一、Proxy 语法

1.类似于供应商的原始对象 obj ,通过 Proxy 新生成对象,这个对象是映射 Object 的,用户访问 monitor,

通过 Proxy ,再传递给 obj 对象。

2.设置最简单的代理操作(拦截读取作用)

真实的为 2017-03-11,通过‘代理’的作用,将 2017 替换为 2018.

 3.设置属性

只能修改 name 属性(target 为要修改的对象,key为要修改的属性,value为修改为何值)

此时 name 值已经发生改变

4.判断当前对象是否有某个属性

只判断 name 属性是否存在

5.删除

如果属性是 '_' 开头的,则删除

 6.遍历

(保护 time 属性)

二、Reflect 语法

1.读取对象属性

set

 

has

 

三、实际应用

 1.判断格式是否正确(校验)

 

过滤(校验)条件

对象

输出结果

 

部分属性做修改

之所以报错,是因为最后构造函数的返回对象的不是 this ,返回的是对 this 的代理

这就是 Proxy 代理的作用,好处是将 条件 和 对象 隔离开,利于后期代码维护

目录
相关文章
|
2月前
ES6的Proxy到底是什么?
ES6的Proxy到底是什么?
34 2
|
5月前
|
缓存 JavaScript 安全
浅谈 Vue 3 的 Proxy 代理为什么使用了 Reflect
浅谈 Vue 3 的 Proxy 代理为什么使用了 Reflect
|
5月前
|
JavaScript 前端开发
ES6新特性: Proxy
ES6新特性: Proxy
|
8月前
|
网络安全
ssh报错java.lang.ClassCastException: com.sun.proxy.$Proxy6 cannot be cast to org.service.impl.EmpServi
ssh报错java.lang.ClassCastException: com.sun.proxy.$Proxy6 cannot be cast to org.service.impl.EmpServi
ES6 什么是proxy
ES6 什么是proxy
82 2
|
前端开发
前端学习案例2-ES6中的proxy和Reflect2
前端学习案例2-ES6中的proxy和Reflect2
85 0
前端学习案例2-ES6中的proxy和Reflect2
|
前端开发
前端学习案例1-ES6中的proxy和Reflect
前端学习案例1-ES6中的proxy和Reflect
82 0
前端学习案例1-ES6中的proxy和Reflect
|
JavaScript 前端开发 API
探秘 Proxy 和 Reflect
Proxy 是一个构造函数,接收两个参数:原对象和捕捉器。Proxy 对象用于创建一个对象的代理,从而实现基本操作的拦截和自定义(如属性查找、赋值、枚举、函数调用等)。
129 0
|
JavaScript 前端开发
【ES6】Proxy对象
【ES6】Proxy对象
121 0
es6 代理(Reflect)和反射(Proxy)的学习总结
es6 代理(Reflect)和反射(Proxy)的学习总结

热门文章

最新文章