使正数的计算结果为真,使负数计算为假

Make positive numbers evaluate to true and negative to false

本文关键字:计算 结果      更新时间:2023-09-26

我在玩javascript,我想知道你是否可以做所有大于 -1 的值计算为 true,而 -1 及以下的所有值的计算结果为 false?

现在1 == true,如果你这样写,其他一切都等于 false:

var i = 0;
if (i) {...} // I want this to be true
i = 1;
if (i) {...} // This is the only thing that is true

编辑:通过评估,我的意思是我不进行比较,例如 0 > -1 .我希望 JavaScript 将数字强制转换为布尔值。

你的意思是这个?

if ( i > -1 ) {
    ....
}

不,你不能改变它,因为它内置于 JavaScript ==运算符在类型之间强制值的方式中。

如果你有一个松散的等式表达式(==),其中一个操作数是布尔值(truefalse),另一个是数字,JavaScript引擎将尝试将布尔值转换为数字并比较结果。 如果您尝试将其转换为数字,true会转换为1,因此这就是1 == true的原因。