Функция:
function () {}
ничего не возвращает (или не определена).
Иногда мы хотим вызвать функцию справа, когда мы ее создаем. У вас может возникнуть соблазн попробовать следующее:
function () {}()
, но это приводит к SyntaxError
.
Используя оператор !
до того, как функция заставит его рассматривать как выражение, поэтому мы можем назвать его:
!function () {}()
Это также возвращает логическое значение, противоположное возвращаемому значению функции, в данном случае true
, поскольку !undefined
- true
. Если вы хотите, чтобы фактическое возвращаемое значение являлось результатом вызова, попробуйте сделать это следующим образом:
(function () {})()