Эм, используется для изоляции, async, алиасинга, глобалок и чего-нибудь ещё в этом роде. В жс не было блоков, импортов и пока нет top-level-await. Постепенно язык закрывает дыры дизайна.
Я же спрашиваю, а не утверждаю. Вопрос о преимуществах. Что это дает? Меньше рендеров, меньше кода, еще что-то? Просто удобство? В общем это был вопрос, а не утверждение.
Функция не вызывается сразу без цели. Цели - сделать то, что язык не позволял/не позволяет. Кароч надоело, окей, не костыль, отличная конструкция, а тот же top-level-await хотят просто по приколу, делать нечего людям