Skip to content

getter 和 setter

Object 有两种 property

  1. data property
  2. accessor property(访问器属性)

accessor property 也就是 getter 和 setter

js
let user = {
  get name() {
    // 当读取 user.name 时,getter 起作用
  },

  set name(value) {
    // 当执行 user.name = value 操作时,setter 起作用
  },
};
js
Object.getOwnPropertyDescriptor( user,'name' )

{
  get: [Function: get name],
  set: [Function: set name],
  enumerable: true,
  configurable: true
}

访问器属性 有 enumerable 和 configurable,没有 value 和 writable,取而代之的是 get 和 set 函数