ECMAScript 6 簡短定義方法

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());

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章