下面的例子定义了一个类Student使用构造函数和自定义 getter 方法,fullName.自定义 getter 方法通过连接firstName和lastName.该程序创建一个代理并定义一个处理程序对象,该对象在访问属性firstName、lastName 和fullName 时进行拦截。属性值将以大写形式返回。
<script>
class Student{
constructor(firstName,lastName){
this.firstName = firstName
this.lastName = lastName
}
get fullName(){
return `${this.firstName}:${this.lastName}`
}
}
const handler = {
get:function(target,property){
Reflect.get(target,property).toUpperCase();
}
}
const s1 = new Student("Tutorials","Point")
const proxy = new Proxy(s1,handler)
console.log(proxy.fullName)
console.log(proxy.firstName)
console.log(proxy.lastName)
</script>
上面代码的输出将如下所示:
TUTORIALS:POINT TUTORIALS POINT
相关用法
- ES6 handler.set()用法及代码示例
- ES6 handler.construct()用法及代码示例
- ES6 handler.apply()用法及代码示例
- ES6 handler.has()用法及代码示例
- ES6 RegExp split()用法及代码示例
- ES6 Array every()用法及代码示例
- ES6 Array reduceRight()用法及代码示例
- ES6 Reflect.set()用法及代码示例
注:本文由纯净天空筛选整理自 ES6 - handler.get()。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。