Здравствуйте, я совсем недавно начал осваивать js и у меня появилась пара вопросов по функциям.
1. То, что cntr() возвращает [Function] мне понятно, но почему counter() возвращает правильный результат (в данном случае счетчик) при том, что "counter = cntr()"?
2. Чем отличается cntr()() от counter()?
const cntr = () =>{
let i = 0;
return (() => {
i++;
return i;
})
}
console.log(cntr()); //[Function]
console.log(cntr()()); //1
console.log(cntr()()); //1
const counter = cntr();
console.log(counter()); //1
console.log(counter()); //2
console.log(counter()); //3
console.log(counter()); //4