getter和setter原理

270 阅读1分钟

Vue对data做了什么 ?

什么是getter和setter

  • 声明一个对象obj0;
let obj0={
姓:“高”,
名:“圆圆”,
age:18
姓名(){
return this.姓 + this.名;
}
};
console.log("需求一:"+obj1.姓名());
  • 因为姓名是个函数,所以要加括号;

下面是不加括号的写法用get

let obj2 = {
get 姓名(){
姓:“高”,
名:”圆圆“,
get 姓名(){
 return this.姓 + this.名;
}
age:18
};
console.log("需求二:" + obj2.姓名)
}
  • getter的用法就是这样,后面不用加括号;

set函数

let obj3 = {
姓:“高”,
名:”圆圆“,
get 姓名(){
return this.姓 + this.名;
},
set 姓名(xxx){
this.姓 = xxx.[0]
this.名 = xxx.substring(1)
},
age:18
};
obj3.姓名 = "刘诗诗"
}
console.log(`需求三:姓$[obj3.姓], 名$[obj3.名]`)
// 总结:setter就是这样用的,当obj3.姓名='刘诗诗'就触发set函数