在 Es6 中,在 Class 内部可以使用 get 和 set 关键字, 对某个属性设置存值函数和取值函数, 拦截该属性的存取行为。

class HelloWorld {
constructor() {
this.name_ = ''
}
get name() {
return 'get name: '+this.name_;
}
set name(value) {
console.log('set name: ' + value);
this.name_ = value;
}
}
let hw = new HelloWorld();

//'set name:'
hw.name = 'jasper';

// 'get name'
console.log(hw.name)

体验地址 https://es6console.com/kn5bjrv7/