@igoryusha22

Почему стрелочная функция не работает, когда работает обычная?

Почему такой код работает:
( function( ) { console.log(10) }( ) );

А вот такой код не работает:
(( ) => { console.log(10) }( ) );

И чтобы заработало нужно писать так:
( ( ) => { console.log(10) } )( );
  • Вопрос задан
  • 204 просмотра
Решения вопроса 1
@igoryusha22 Автор вопроса
Ответ от Ярослав Иванов:
Потому что стрелочная функция может быть и без фигурных скобок
let a = () => console.log("lolkek");

И интерпретатор не ожидает, что после фигурных будут идти круглые. А у обычных функций так можно так как там всегда есть в наличие фигурные скобки.

Ошибка не из-за того, что функция стрелочная, а чисто из-за синтаксиса. Поэтому и приходится оборачивать в круглые, а уже за пределами вызывать это тело через ( ).
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 1
kirbi1996
@kirbi1996
Потому что ее нужно вызывать снаружи
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы