JavaScript · Senior · Запитання 48 з 75
Що таке Temporal Dead Zone для параметрів за замовчуванням?
function f(a = b, b = 1) { return a; }
f();- ✓Правильна відповідь:
ReferenceError: параметрbще не ініціалізований під час обчисленняa - 2Поверне
1: параметри за замовчуванням обчислюються в будь-якому порядку - 3Поверне
undefined: значенняbпідніметься зі значеннямundefined
Пояснення
Параметри ініціалізуються зліва направо й поводяться як let: звернення до ще не ініціалізованого параметра - помилка TDZ. У зворотному порядку (a = 1, b = a) усе працює. Значення за замовчуванням обчислюються за кожного виклику, а не один раз.