Костыль
Аргументированно
Эм, используется для изоляции, async, алиасинга, глобалок и чего-нибудь ещё в этом роде. В жс не было блоков, импортов и пока нет top-level-await. Постепенно язык закрывает дыры дизайна.
+
Да это сокращенная запись создания функции и мгновенного вызова
Ты мог изолировать и без iife
Функция не вызывается сразу без цели. Цели - сделать то, что язык не позволял/не позволяет. Кароч надоело, окей, не костыль, отличная конструкция, а тот же top-level-await хотят просто по приколу, делать нечего людям
А мог и с ней. Костыли на любой вкус
Одна из целей - замыкание
Что я и написал :) Теперь замыкания не нужны - есть блоки/let/const/import/etc. Вообще тред пошел с чела, который захотел вместо useEffect(() => { requestGetAll(…).catch(e => console.dir(e)); }, […]); заюзать async/await любой ценой и бахнул самовызывалку, что в его кейсе было избыточно
function f(){ let arr = []; let i = 0; while(i < 10){ let func = function(){ return i } arr.push(func) i++; } return arr; } let arr = f(); console.log(arr[0]()) ???
10
Я посыла не понял, типа вместо while (i < 10) { const currentIndex = i; const func = () => currentIndex; } предлагаешь писать что-то типа while (i < 10) { const func = (currentIndex => () => currentIndex)(); } ?
Показал один из кейсов использование iife, да он заменим, но называть эту конструкцию г*м неправильно
Обсуждают сегодня