【发布时间】:2011-09-13 03:47:37
【问题描述】:
如何阻止错误消息Expected '===' and instead saw '=='. 出现在 jslint 中。
似乎不是一个选项。
【问题讨论】:
标签: javascript debugging jslint
如何阻止错误消息Expected '===' and instead saw '=='. 出现在 jslint 中。
似乎不是一个选项。
【问题讨论】:
标签: javascript debugging jslint
对于使用 JSHint 的用户,您可以通过在 JSHint 选项(通常为 .jshintrc)中将选项 eqeqeq 设置为 false 来关闭此警告
"eqeqeq": false
来自文档:http://jshint.com/docs/options/#eqeqeq
编辑:
如果您想成为一个好公民并修复您的代码以使用推荐的比较而不是关闭警告,请确保比较的双方都使用相同的类型。
例如:
"123" == 123 // true, I'm lazy and JSHint hates me
"123" === 123 // false, no love
Number("123") === 123 // true, no warning
【讨论】:
这在媒体上非常热门。
Douglas Crockford 刚刚在 JSLint 工具中添加了一个“eqeq”选项。
在 GitHub 上查看 2011 年 6 月 12 日的编辑之一:
在 JSLint 头版上尚未更新撰写本文的时间,但我已使用以下内容对其进行了测试,并没有收到与 == 相关的警告:
/*jslint eqeq: true*/
var x = 0;
if (x == 1) {
alert("test");
}
【讨论】:
你是正确的,没有选择。唯一的方法是使用=== 或修改source code。无论如何,我几乎总是使用===。除非您知道== 是真的您想要的,否则一般情况下会更好。
【讨论】:
some == null 如果 some === undefined 或 some === null 返回 true,这可能会有用。
== null 是 == 的唯一有效用例。 if(value) 有很多不用检查的用例。
===。
==?如果您知道自己在做什么,那么使用它就没有问题。 JSLint 没有提供关闭该警告的选项,这太过分了。
虽然它的价值已经晚了,但它会帮助有需要的人
禁用使用 -
/* eslint eqeqeq: 0 */
将其作为警告使用 -
/* eslint eqeqeq: 1 */
【讨论】:
eqeqeq (ESlint) Expected '!==' and instead saw'=',这个修复就像魅力一样!
同样的错误告诉我我可以用这种方式修复
status.user_profile.toString() === props.props.id.toString()
我正在使用 react js 举个例子,我正在使用类似的东西
id = 1
如果我有多余的参数给我看这样的
params :{ id:"1" }
如果我这样过度
id == params.id // output true
如果我这样过度
id === params.id // output false
因为不是 100% 平等所以在终端显示错误
Expected '===' and instead saw '=='
所以我可以考虑并通过像这样转换相同的数据类型来修复它
id.toString() === params.id.toString() // return true
【讨论】: