Syntax for object methods [duplicate]

I have always defined methods in objects like this:

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

But recently I see this (which I assume is equivalent, but I am not sure):

{
  a(par1, par2) { },
}

When has this syntax been introduced?

Answers:

Answer

What you're referring to is part of the ES6 Extended Object Literal support.

You are correct in assuming that your two examples are functionally equivalent.

Answer

It is ES6 syntax, a shorthand and functionally the same.

MDN - Method definitions

Answer

Yep, this is new ES6 way of doing it

old way

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

new way

usually you can use old syntax, new one is optional but bit shorter

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

it better to skip duplication when you do something like that

function method(){};

return {
   method: method
}; 

it may looks like

return {
   method
}; 

same syntax you may find at es6 class definition

class MyClass {
  constructor(geometry, materials) {}
  update(camera) {}

  get boneCount() {}
  set matrixType(matrixType) {}
}

Best regards

Egor

Tags

Recent Questions

Top Questions

Home Tags Terms of Service Privacy Policy DMCA Contact Us

©2020 All rights reserved.