ECMAScript 6 简短定义方法

假如想象 提交于 2020-12-04 08:26:00

ECMAScript 2015开始,在对象初始器中引入了一种更简短定义方法的语法,这是一种把方法名直接赋给函数的简写方式。

 

var obj = {
  property( parameters… ) {},
  *generator( parameters… ) {},
  async property( parameters… ) {},
  async* generator( parameters… ) {},

  // with computed keys:
  [property]( parameters… ) {},
  *[generator]( parameters… ) {},
  async [property]( parameters… ) {},

  // compare getter/setter syntax:
  get property() {},
  set property(value) {}
};

 

var bar = {

foo0: function() { return 0; },

foo1() { return 1; },

['foo' + 2]() { return 2; }

};

 

console.log(bar.foo0()); // 0

console.log(bar.foo1()); // 1

console.log(bar.foo2());

 

 

 

var sym=Symbol();

var sex="male";

var user={

    privateName:"",

    get [sym](){

        return this.privateName+"...";

    },

    set [sym](str){

        this.privateName=str.replace(/[-](\w)/,function(str,$1){

            return $1.toUpperCase();

        });

    },

    ["sex"+sex](){

        return "你的性别是"+(sex=='male'?"男":"女");

    }

}

user[sym]="webkit-transform";

console.log(user[sym]);

console.log(user.sexmale());

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!