getter和setter

265 阅读1分钟

getter 和setter

  • getter:不加括号的函数,使用的时候不加括号
get 姓名(){
    return this.姓+this.名
}
  • setter:接受一个参数,调用的时候传入新参数,就调取setter
set 姓名(xxx){
    this.姓 = xxx[0]
    this.名 = xxx.substring(1)
}

Object.defineProperty('在哪个对象上','xxx',{})xxx就是get、set后面的虚拟名字

当你定义完一个对象之后,重新在对象上额外添加get和set

let _xxx = 0

Object.defineProperty(obj,'xxx',{
    get(){
        return _xxx
    },
    set(value){
        _xxx = value
    }
})