0

我的应用程序中有这个 JavaScript 代码:

var boo = function(inputStr) {
    if (!inputStr || inputStr === "") {
        throw new Error("Input is null or empty.");
    }
    return new Aftamat(inputStr);
};

Resharper 说inputStr === ""总是这样false。为什么?这是 Resharper 错误吗?

4

2 回答 2

2

如果字符串为空,则有点假...所以!inputStr将返回true,实际上,inputStr === ""如果您的字符串为空,则永远不会检查您

于 2013-03-05T07:53:42.587 回答
1

可能是因为如果inputStr === ""为真,那么!inputStr也为真,但如果!inputStr为真,则inputStr === ""永远不会被检查。

即,只有在测试必须为真的情况下才能访问该代码。

于 2013-03-05T07:56:14.050 回答