На вопрос Получить арность функции представлено свойство function.length
. Но это не работает для функции, принимающей параметры rest
или вариативное c количество аргументов как function(...variable)
.
function func1() {}
console.log(func1.length);
// expected output: 0
function func2(...variable) {}
console.log(func2.length);
// expected output: 0
function func3(a) {}
console.log(func3.length);
// expected output: 1
Как узнать, что функция func2
может принимать переменное количество параметров? Я не могу определить это, просто используя func2.length
, потому что он скажет, что функция принимает 0
параметров, в то время как она «может» принимать как минимум 0, 1 или более.