I've just started learning about function. and here is what gives me difficulty.
const Func = () => {
return () => {
console.log('hello');
};
};
const innerFunc = Func();
innerFunc(); // 1.
Func(); //2.
I don't understand why 'hello' doesn't show up on console trying with 2.
Aren't both innerFunc and Func names of function?
I don't know the difference between them.
Sorry for my bad English.
Func()
returns a function which will not be executed until you run the result with ()
like you are doing with 1.
.
By doing const innerFunc = Func();
, you are assigning the function returned from Func
into innerFunc
. So to call it, you need to run it like this: innerFunc()
.