Что выведет код Junior Функции высшего порядка обновлено

Параметр по умолчанию

Вопрос

Что выведет код? По строке на каждый вывод.

function f(a = 1, b = a + 1) { return [a, b].join(','); }
console.log(f());
console.log(f(5));
console.log(f(undefined, 9));
console.log(f(null));

Попробуйте сами

Напишите, что выведет код: каждый вывод с новой строки.

Показать ответ и разбор

Коротко

Код выведет: 1,2, 5,6, 1,9, ,1. Почему так Дефолты вычисляются слева направо и видят предыдущие параметры. null - это значение, дефолт не подставится.

Что выведет

1,2
5,6
1,9
,1

Разбор

Почему так

Дефолты вычисляются слева направо и видят предыдущие параметры. null - это значение, дефолт не подставится.

Вывод

1,2
5,6
1,9
,1

Ответьте сами, а не прочитайте

В тренажёре вопрос попадёт в повторения и вернётся, когда начнёт забываться. Плюс билеты с зачётом: 20 вопросов, не больше 2 ошибок.