В javascript, как я знаю, какой тип параметра (ов) ожидает функция

0

В JavaScript, как узнать, какие типы параметров ожидает функция? Некоторые люди говорят, что вы звоните, чтобы функционировать, и вы должны знать типы параметров, которые функция принимает, но я думаю, что это может быть не всегда.

Единственное, что я могу придумать, - использовать функцию.arguments и написать код, чтобы найти количество параметров и их тип. Какова наилучшая практика, когда дело доходит до знания типа параметра, ожидаемого функцией JavaScript.

  • 0
    Учитывая свободную типизацию javascript, тип обычно не имеет значения, пока значение ведет себя так, как должно. Принимающая функция должна допускать получение, скажем, Strings вместо Numbers, например, a + b должно быть сказать +a + +b если любой из них может быть строкой.
Теги:

2 ответа

1

Это просто там, где есть хорошая документация. Намного проще иметь страницу документации по API, которая сообщает вам параметры, чем программно делать что-то вроде...

function derp(uno, dos) {
    var error = [];
    if (!uno) error.push("The first parameter, uno, needs to be a ...");
    if (!dos) error.push("The second parameter, dos, needs to be a ...");
    return error;
}

Гораздо проще, чем шифрование через множество массивов ошибок.

Вы можете объединить что-то вместе, используя объект arguments, но JavaScript динамически типизирован, поэтому вы не можете установить определенный тип. Вы можете только проверить и вернуть ошибку, но вам придется называть это методом КАЖДЫЙ.

  • 0
    Пример не имеет ничего общего с типом параметров - фактическим вопросом.
0

вы можете попробовать это:

function greet(msg) {
  if(!msg) throw "Parameter message is required !";
  if(typeof msg !== 'string') throw 'Parameter message required of string type !';
  // do the rest below
}

Ещё вопросы

Сообщество Overcoder
Наверх
Меню