Подавить "ожидаемый идентификатор и вместо этого увидел "default" (зарезервированное слово)` в JSLint с Мангустом

Я использую jshint для проверки моих файлов JavaScript.

на стороне сервера я использую node.js с Мангустом. В Мангусте меня поощряют писать схемы таким образом, как:

var UserSchema = new mongoose.Schema({
    firstname : { type: String, default: '' }
});

при запуске пылеобразования, я получаю ошибку:

Expected an identifier and instead saw 'default' (a reserved word).

есть ли способ подавить эту ошибку? Я действительно предпочел бы такое поведение, а не писать:

var UserSchema = new mongoose.Schema({
    firstname : { type: String, "default": '' }
});

2 ответов


вы также можете использовать опцию" es5", чтобы отключить это от происходящего.

см.: http://jslinterrors.com/expected-an-identifier-and-instead-saw-a-a-reserved-word/


default действительно зарезервированное слово в JavaScript (https://developer.mozilla.org/en/JavaScript/Reference/Reserved_Words). Хотя технически вы можете использовать default в имени свойства объекта без каких-либо проблем, у вас могут возникнуть проблемы с этой нотацией, если ваш интерпретатор строг (например, lint).

самый простой способ двигаться вперед: исправить проблему, добавив кавычки. Линт больше не будет ныть. Код на два символа длиннее, но что с того - проверка проходит и вы гарантированно не иметь проблем из-за использования зарезервированное ключевое слово.