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?
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?
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.
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