? Где можно почитать об этом?
`// Выводит console.log()
( () => console.log('Function 1') )();
// Выводит console.log()
( function() { console.log('Function 1.1') } )();
// НЕ выводит console.log()
( () => console.log('Function 2') ());
// Выводит console.log()
( function() { console.log('Function 2.1') } ());`
Потому что запись неверная, ты пытаешь вызвать результат функции console.log, а саму стрелочную функцию не вызываешь вообще.
А как тогда будет правильно? Почему в 2.1 вызывается, хотя там идентичный порядок скобок, только используется function declaration?
Нет, не идентичный, у тебя в случае 2 такая конструкция получилась ( () => { console.log('Function 2') () } );
а с чего это она должна была сработать?
Теперь больше понятно, спасибо
IIFE - посмотри https://learn.javascript.ru/closure#iife
Обсуждают сегодня