我在Node.js之上使用Express.js来创建grunt,并使用grunt来查看我的文件并自动设置我的JavaScript。
每次我使用delete函数时,它都会被JSHint标记:
[L218:C9] Expected an identifier and instead saw 'delete' (a reserved word).
app.delete('/api/users/:userid', function deleteUser(req, res, next) {
我知道'delete‘是一个保留字,但它是由Express.js选择的!有没有更好的方法来修改我的Express.js应用呢?有没有办法关掉这张支票??
发布于 2012-07-11 03:28:11
在Express.js中,使用del
而不是delete
。
app.del('/api/users/:userid', function deleteUser(req, res, next)
发布于 2013-06-03 12:52:27
解决这个问题的另一种方法是使用bracket notation而不是dot notation。
app['delete']('/api/users/:userid', function deleteUser(req, res, next) {
/* function body */
});
在过去使用定义了.delete
和.continue
方法的IndexedDB时,这种工作是必要的。
如今,这种变通方法不再是必要的。Ever since ES5 JavaScript允许属性名称使用保留字。很长一段时间以来,jsHint默认假设您的代码是ES3,但是starting with version 2.0.0它默认假设它是ES5,并且不会抱怨保留字被用作属性名称。
发布于 2013-03-04 14:53:37
在jshint 1.1.x中,您可以为JSHint设置es5
选项,并且它将允许您根据ES5规范使用保留字作为属性。
从JSHint 2.0开始,es5
选项是默认选项,应该允许您使用保留字作为属性。
有关更多信息,请访问http://www.jshint.com/docs/#options
https://stackoverflow.com/questions/11420440
复制相似问题