抑制`预期的标识符,而是看到'默认'(一个保留字)在JSLint与Mongoose

我正在使用jshint来validation我的JavaScript文件。

在服务器端,我使用Mongoose的node.js。 在Mongoose中,我被鼓励以如下的方式写图式:

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

运行linting时,出现错误:

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

有没有办法来压制这个错误? 我真的更喜欢这种行为,而不是写作:

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

您也可以使用“es5”选项来禁用此function。

见: http : //jslinterrors.com/expected-an-identifier-and-instead-saw-aa-reserved-word/

default的确是JavaScript中的一个保留字( https://developer.mozilla.org/en/JavaScript/Reference/Reserved_Words )。 虽然技术上你可以在对象属性名称中使用default而不会有任何问题,但是如果你的解释器是严格的(比如lint),你最终可能会遇到这个符号的问题。

最简单的方法:通过添加引号来解决问题。 林特不会再抱怨你了 该代码是两个字符长,但如此通过,你保证没有问题,因为使用保留关键字。