Answer

Answer

t.me/js_test

Ответ:

function bar(a = num, num) {
                 ^
ReferenceError: Cannot access 'num' before initialization

Объяснение:

В момент вычисления аргументов функции движок работает с отдельной областью видимости. В данном примере первым параметром в функцию bar передаётся undefined, это значит что должно отработать значение по умолчанию. Значение по умолчанию равно num, движок видит что в данной области видимости такая переменная есть но её значение ещё не вычислено по этому срабатывает временная мёртвая зона (Temporal Dead Zone) и выдаётся ошибка.

Код:

let num = 12;

function bar(a = num, num) {
    console.log(a, num);
}

bar(undefined, 42);

Report Page