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);