Reputation: 1733
In Node.js
I see sometimes a declaration like this:
var App = require('express')();
What do the empty brackets '()'
at the end mean?
I am suspecting the declaration above is equivalent to something like:
var Express = require('express');
var App = Express();
Is that right?
Upvotes: 2
Views: 1463
Reputation: 1965
As James already answered the module returns a function which is than invoked in this manner.
Here a simple code sample to make it easier understandable.
function a() {
function b() {
alert('Alert me!');
}
return b;
}
a()();
//alerts 'Alert me!'
Upvotes: 8
Reputation: 5169
Essentially the express
module is returning a function. The empty brackets call the function so now App
is the result of the returned function
.
Upvotes: 3