与 FALSE 的比较等同于否定值.这是一个重新锐利的错误
Comparison to FALSE is equivalent to negating value. Is it a ReSharper bug?
我正在使用ReSharper 9及其TypeScript功能。我正在编写打字稿代码。我有一个这样的界面:
interface Test {
A?: boolean;
...
}
然后我写一个这样的if
语句,以测试成员A
是否存在并且完全等于false
。(又名:如果它不存在,我想把它当作真的。
if (myObj.A === false) {
...
}
然后 ReSharper 给了我一个关于与 False 的比较等同于否定值的提示,如果我接受修复,它就会变成
if (!myObj.A) {
...
}
这显然是不等价的,因为例如,如果未定义 A,则为真。
我错过了什么?它在运行时真的等效吗?
正如你所说,这两个比较并不等同:
var myObj = {A: false};
myObj.A === false //true;
myObj = {};
myObj.A === false //false;
!myObj.A //true (not what you want)
所以ReSharper提出了一个不正确的建议。
相关文章:
- 我怎么能把一个错误当作未捕获的错误来记录呢
- 在这个使用hasOwnProperty的对象扩展程序中有一个错误,I'我不确定那个bug是什么,也不确定这个扩展
- javascript window.location在检查firebug时给了我一个错误的url路径
- new SharedWorker(“whatever.js”)返回一个错误
- JSON.parse给了我一个错误,但JSONLint说它'是一个有效的json
- 有人能向我解释一下我犯的一个错误吗
- Jasmine:测试setTimeout函数会抛出一个错误
- JavaScript中的一个错误
- 为什么jqPlot显示了一个错误的饼图,其中包含通过AJAX检索的数据
- Webrtc和socket.io:createanswer()总是有一个错误.为什么?我的代码连接了两个对等体,但其中只
- 使用 jQuery 构建一个元素会给我一个错误
- Chai 期望 [函数] 抛出一个(错误)未通过测试(使用 Node)
- 在我的 jquery 函数中得到一个错误
- Addeventlistener 已转换为 IE.也许是另一个错误
- 我有一个错误,由于某种原因,号码被更改了,而不是名字
- 我无法建立离子机器人项目..它给了我一个错误:生成cmd enont
- JQueryAJAX调用:304 respose产生一个错误
- 继续得到一个错误,即某个东西不是函数,但找不到原因
- jQuerylib会导致一个错误,直到刷新为止
- HTML图像加载触发一个错误