getter&setter

getter

 get 将对象属性绑定到调用查询该对象属性时将调用的函数。bash

var obj = {
  log: ['a', 'b', 'c'],
  get latest() {
    if (this.log.length == 0) {
      return undefined;
    }
    return this.log[this.log.length - 1];
  }
}

console.log(obj.latest);
// expected output: "c"复制代码

注意

  • 使用时必须不带参数
  • 可使用delete操做符删除getter
  • get 后的参数名能够是字符串或者计算属性名

    var expr = 'foo';
    
    var obj = {
      get [expr]() { return 'bar'; }
    };
    
    console.log(obj.foo); // "bar"复制代码

setter

set将对象属性绑定到要调用的函数函数

var language = {
  set current(name) {
    this.log.push(name);
  },
  log: []
}

language.current = 'EN';
language.current = 'FA';

console.log(language.log);
// expected output: Array ["EN", "FA"]
//在对象初始化时调用函数复制代码

注意

  • 能够赋值,至关于传参
  • 可使用delete操做符删除setter
  • get 后的参数名能够是字符串或者计算属性名

getter与setter的区别

set用于赋值,get用于取值。ui

本站公众号
   欢迎关注本站公众号,获取更多信息