var counter = /* открывающая скобка, начало выражения => */ (
function() { /* объявление анонимной функции */
var count = 0;
return function(num) {
count = num !== undefined ? num : count;
return count++;
}
} ( /* вызов анонимной функции */ )
); /* <= закрывающая скобка, конец выражения */
В этом примере переменной counter присваивается результат выполнения анонимной функции. Эта конструкция называется
immediately invoked function expression, то есть немедленно-вызываемое функциональное выражение. Внутри себя она замыкает переменную count, которая таким образом недоступна для внешнего кода, но доступна функции возвращаемой через return.
Проще говоря, в переменной counter находится результат вызова функционального выражения.