Почему "Имя необязательного параметра%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
использует), а какие нет.