Почему "Имя необязательного параметра%s должно начинаться с префикса opt_." в gjslint - строгом режиме?

Я получаю следующее на одном конкретном файле JavaScript

Line 23, E:0233: Optional parameter name category must be prefixed with opt_.
Line 649, E:0233: Optional parameter name animate must be prefixed with opt_.
Line 697, E:0233: Optional parameter name aggregate must be prefixed with opt_.
Line 763, E:0233: Optional parameter name animate must be prefixed with opt_.
Line 796, E:0233: Optional parameter name animate must be prefixed with opt_.

Для первого кода это:

/** @constructor
 *
 *  @param {Object} data an entity or item.
 *  @param {Object} parent a viewObj, or at the root level, a viewstate.
 *  @param {Array.<number>} position an (x$, y$) pair.
 *  @param {string=} category The category to give the item. This forms an
*                             inconsistent mess around where category is stored.
 */
function ViewObj(data, parent, position, category) {

Какой смысл кода ошибки? "категория" не является обязательной!

1 ответ

Решение

= суффикс в типе означает, что это необязательно. Если category параметр не является обязательным, тогда вы должны изменить его тип на string,

Цель этой ошибки - убедиться, что ясно, какие параметры являются необязательными (и что не только их тип отражает это, но и их имя в соответствии с руководством по стилю). gjslint использует), а какие нет.

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