Можно ли проверить аргументы функции с помощью google closure linter (gjslint)?

Например, у меня есть следующий скрипт "test.js":

/**
 * Adds two numbers.
 * @param {number} a First number.
 * @param {number} b First number.
 * @return {number} Sum of two numbers.
 */
function add(a, b) {
  return a + b;
}

var sum = add(1, 2);
var sum1 = add(1, 2, 4);
var sum2 = add('1', '2');

Функция "добавить" аннотируется jsdoc. Он принимает два номера. Я хотел бы проверить входные параметры с помощью gjslint.

gjslint --strict --jslint_error "all" --jsdoc test.js

Я ожидаю увидеть 2 ошибки для строк, где вычисляются sum1 (3 входных параметра) и sum2 (2 строковых параметра). Но инструмент говорит: "1 файл проверен, ошибок не найдено".

1 ответ

Решение

Я не использовал Closure Linter, но считаю, что он больше используется для решения стилей - пропущены точки с запятой и т. Д. (См. http://google-styleguide.googlecode.com/svn/trunk/javascriptguide.xml)

Компилятор Closure, однако, выдаст предупреждение JSC_WRONG_ARGUMENT_COUNT для приведенного выше варианта использования.

Другие вопросы по тегам