@Mark321

Что происходит в коде?

const x = ((x) => {
    x = 30
})(10)

const y = x()

я не понимаю что тут происходит и почему будет в игрик ошибка, подскажите пожалуйста в чем тут дело
  • Вопрос задан
  • 90 просмотров
Решения вопроса 1
sergiks
@sergiks Куратор тега JavaScript
♬♬
Во-первых, внешний x это не то же, что внутри скобок. Можно назвать иначе:
const x = ((w) => {
    w = 30
})(10)

Во-вторых, что же попадёт во внешний x? Ничего, undefined. Потому, что вызывается эта внутренняя функция сразу же, с w = 10, и ничего не возвращает.

Отсюда и ошибка при попытке вызвать x()
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

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

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