Выбор ответа Middle Функции высшего порядка обновлено
fn.length и параметры по умолчанию
Вопрос
Что выведет код?
function f(a, b = 2, c) {}
const g = (...args) => {};
console.log(f.length, g.length);
Попробуйте сами
Выберите вариант, и откроется разбор.
Показать ответ и разбор
Коротко
Правильный ответ: 1 0. length функции считает параметры до первого с значением по умолчанию или rest-параметра.
Варианты ответа
1 0правильный ответ3 02 13 1
Разбор
length функции считает параметры до первого с значением по умолчанию или rest-параметра. У f это только a, поэтому 1, хотя объявлено три параметра. Rest-параметр в length не входит, у g получается 0. Это важно для curry: каррирование по fn.length сломается на функциях с дефолтами и rest.
Ответьте сами, а не прочитайте
В тренажёре вопрос попадёт в повторения и вернётся, когда начнёт забываться. Плюс билеты с зачётом: 20 вопросов, не больше 2 ошибок.