@FrankyJo

Что означает конструкция var Name = (function(){})()?

Создается класс с такой конструкцией

var Name = (function (){

})()


зачем так и почему?
  • Вопрос задан
  • 87 просмотров
Пригласить эксперта
Ответы на вопрос 2
Seasle
@Seasle Куратор тега JavaScript
Ответ написан
Комментировать
magerrrr
@magerrrr
JS Software Engineer
В прошлом в JavaScript не было лексического окружения на уровне блоков кода.

Так что программистам пришлось что-то придумать. И то, что они сделали, называется «immediately-invoked function expressions» (аббревиатура IIFE), что означает функцию, запускаемую сразу после объявления.
Это не то, что мы должны использовать сегодня, но, так как вы можете встретить это в старых скриптах, полезно понимать принцип работы. (продолжение на learn.javascript.ru)

Также можно прочитать на medium с примерами и подробным объяснением.
Ответ написан
Комментировать
Ваш ответ на вопрос

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

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