Как узнать, может ли функция принимать переменное количество параметров? - PullRequest
1 голос
/ 25 мая 2020

На вопрос Получить арность функции представлено свойство 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 или более.

...