【问题标题】:Syntax for object methods [duplicate]对象方法的语法 [重复]
【发布时间】:2016-04-20 08:18:58
【问题描述】:

我一直这样定义methods in objects

{
  a: function(par1, par2) { },
}

但最近我看到了这个(我认为这是等效的,但我不确定):

{
  a(par1, par2) { },
}

这种语法是什么时候引入的?

【问题讨论】:

    标签: javascript


    【解决方案1】:

    您所指的是ES6 Extended Object Literal 支持的一部分。

    假设您的两个示例在功能上是等效的,这是正确的。

    【讨论】:

      【解决方案2】:

      它是 ES6 语法,简写,功能相同。

      MDN - Method definitions

      【讨论】:

        【解决方案3】:

        是的, 这是新的 ES6 方式

        老办法

        var obj = {
          foo: function() {},
          bar: function() {}
        };
        

        新方式

        通常你可以使用旧语法,新语法是可选的,但会短一些

        var obj = {
          foo() {},
          bar() {}
        };
        

        当你做类似的事情时最好跳过重复

        function method(){};
        
        return {
           method: method
        }; 
        

        它可能看起来像

        return {
           method
        }; 
        

        你可以在 es6 类定义中找到相同的语法

        class MyClass {
          constructor(geometry, materials) {}
          update(camera) {}
        
          get boneCount() {}
          set matrixType(matrixType) {}
        }
        

        最好的问候

        叶戈尔

        【讨论】:

          猜你喜欢
          • 2011-10-01
          • 2013-11-09
          • 2012-12-05
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2015-03-31
          • 2012-09-15
          • 1970-01-01
          相关资源
          最近更新 更多