Подтвердить что ты не робот

Могу ли я сообщить IntelliJ (10.5), чтобы он не предупреждал об отсутствии необязательного аргумента метода javascript?

function foo(a, opt_b) {
  opt_b = opt_b || 1;
  ...
}

foo(1);  // IntelliJ will yell at me, saying "Invalid number of parameters, expected 2"

Есть ли способ документировать foo(), чтобы IntelliJ не кричал на меня?

4b9b3361

Ответ 1

Использование комментариев в стиле JavaDoc для JavaScript, вы можете объявить параметр как необязательный с помощью скобок [] вокруг него:

/**
 * My function
 * @param [optionalParam] An optional parameter
 */
myFunction: function(optionalParam) {
    //...
},

Ответ 2

"JavaScript > Общие сведения > Проблема несоответствия подписи" - это параметр проверки, который отключит предупреждение о некорректном количестве параметров. К сожалению, это влияет не только на количество параметров. Согласно описанию внутри IntelliJ IDEA, он "проверяет JavaScript как параметры функции, возвращает значения, назначенные выражения имеют правильный тип.

Turn off JavaScript parameter count warnings (and all type warnings as well)

Ответ 3

Вы можете изменить настройки с помощью параметра проверки для JS:

enter image description here

Ответ 4

В соответствии с http://usejsdoc.org/tags-param.html существует два способа использования комментариев для объявления параметра как необязательного:

/**
 * @param {string} [somebody] - Somebody name.
 */
function sayHello(somebody) {
    if (!somebody) {
        somebody = 'John Doe';
    }
    alert('Hello ' + somebody);
}

и

/**
 * @param {string=} somebody - Somebody name.
 */
function sayHello(somebody) {
    if (!somebody) {
        somebody = 'John Doe';
    }
    alert('Hello ' + somebody);
}

Оба способа работали для меня.