I know the title is vague but I didn't know what to write.
In javascript, I know how to write functions that will be called like this :
argument1.function(argument2);
Here is the fiddle demonstration : http://jsfiddle.net/rFXhf/
Now I wonder if I can do :
argument1.argument2.function(argument3);//And even more!
You no longer need to specify the function
keyword when defining functions inside objects.
First option with named functions:
const myObj = { myMethod(params) { // ...do something here }, myOtherMethod(params) { // ...do something here }, nestedObj: { myNestedMethod(params) { // ...do something here } } };
Second option with anonymous functions:
const myObj = { myMethod: (params) => { // ...do something here }, myOtherMethod: (params) => { // ...do something here }, nestedObj: { myNestedMethod: (params) => { // ...do something here } } };
Pre ES6 style:
const myObj = { myMethod: function myMethod(params) { // ...do something here }, myOtherMethod: function myOtherMethod(params) { // ...do something here }, nestedObj: { myNestedMethod: function myNestedMethod(params) { // ...do something here } } };
Note: In the first example the functions are named and have their own this-context. In the second example, the this-context from outside of the functions is used. In the third example, the functions are not named, but have their own this-context.
So while all methods seem similar, they are a bit different.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With