重新定义'期望'

时间:2015-08-31 14:30:40

标签: javascript jshint chai

我正在运行jshint并收到此错误:

  

第6行第5栏'重新定义'期待'。

这段代码:

var expect = require('chai').expect;

这是否意味着expect在某个地方是保留关键字?我没有在项目的其他任何地方看到关键字定义,当我从测试中删除它时,测试说:

  

期望未定义

如何修复此jshint错误?

2 个答案:

答案 0 :(得分:7)

此特定错误的JSLint documentation表示当您尝试声明一个标识符与内置本机对象相同的变量时会生成该错误。这可能会导致混淆,因为人们可能期望内置的本机对象和您自定义的对象。

简单的解决方案是:使用另一个标识符。

另一个解决方案是让JSLint不将expect视为全局标识符。您可以通过在.jshintrc文件中添加以下内容来实现此目的:

"globals": {
    "expect": true
}

答案 1 :(得分:1)

如果您的JSHint配置在其expect数组中定义globals,则会发生这种情况。

删除它,因为你明确地 依赖它是一个预先存在的全局。

相关问题