ES6 Proxy-Javascript 优雅的书写getter、setter
前言
emmmmm…大家都写过javabean吧,在做javaee开发的时候,经常拿javabean做数据模型,当数据模型比较复杂的时候,会有一大堆的getter,setter之类的东西,虽然有些IDE会自动帮助生成getter,setter,但是看起来确实很糟糕,kotlin改进了这种局面,如需创建数据模型只需用data关键字即可(扯远了)。
在js里也可以添加getter和setter,防止私有变量被暴露出来。在以前,我们可以利用立即执行函数进行暴露想暴露的数据。比如一个简单的例子:
let zhangsan = (() => {
let name = "zhangsan"
let age = 19
return {
setName:n => name = n,
getName:() => {
return name},
setAge:a => age = a,
getAge:() => {
return age}
}
})()
console.log(zhangsan.getName()); //zhangsan
console.log(zhangsan.name);//undefined
console.log(zhangsan.getAge()); //19
zhangsan.setName(