вместо ожидаемого идентификатора увидел новый (зарезервированное слово)

Я хочу знать, как отключить проверку JSHint для этого типа объявлений, поэтому я могу сделать:

obj.new = function(){
    //...
};

вместо

obj['new'] = function(){
    //...
};

Благодарность


person André Alçada Padez    schedule 21.11.2012    source источник


Ответы (1)


Вы можете использовать опцию es5, поскольку зарезервированные слова в качестве имен свойств действительны только в ES5. Поместите эту директиву в начало рассматриваемого файла (файлов):

/*jshint es5: true */

Однако стоит иметь в виду, что старые браузеры будут выдавать ошибки, если они столкнутся с таким синтаксисом. Если ваш код должен работать в старых браузерах (особенно в IE8), вам лучше придерживаться альтернативного синтаксиса или использовать незарезервированные слова в качестве идентификаторов свойств.

Изменить: я добавил немного больше подробностей об этой ошибке в своей страницы на jslinterrors.com.

person James Allardice    schedule 21.11.2012
comment
@AndréAlçadaPadez - Пожалуйста, рад, что смог помочь. Также имейте в виду, что в JSLint (и, следовательно, в JSHint) есть ошибка при использовании параметра es5. Это не повлияет на вас в этой ситуации, но об этом следует знать. Подробности в ссылке, которую я добавил к вопросу, и в этом запросе на включение в JSHint. - person James Allardice; 22.11.2012
comment
В нем говорится, что опция ES5 теперь установлена ​​​​по умолчанию, но подсказка все еще существует. - person Frank Fang; 29.03.2014