我基本上可以归结为以下情况:
// x is a non-negative integer
if (x > 0){
doSomething();
}
当然,条件语句可以从if (x > 0)
更改为if (x)
。这是惯例吗?
作为以前从未使用过javascript的人,我倾向于只使用比较,这样对我来说就不那么模棱两可了。但是,如果大多数人确实利用真实/虚假的值,我可能会忽略直接比较而习惯它。
答案 0 :(得分:3)
意见 :如果您要处理的东西是真/假值,请将它们设为真/假值。由于类型强制,将它们保持为数字将始终需要进行各种检查。更不用说,每次您需要重新访问它或开发人员加入时都会感到困惑。
这实际上取决于您使用它的目的,但是type coercion
是您经常遇到JavaScript时要牢记的一点。如果您想使用true / false值,我将建立逻辑来评估x
并弄清楚您是否希望它为true / false。
const x = 0;
const isZero = x > 0;
console.log(isZero);
通常来说,您似乎在追求正确/错误的结果,所以建议您将其转换为正确/错误的值。
答案 1 :(得分:1)
在这种情况下,x是整数,
使用if(x)
来检查x是否为undefined
更有意义。例如,如果x是函数的参数,并且您想知道它是作为输入正确给出的。
另一方面,如果您知道x具有值,则明确地编写比较if(x> 0)会更有意义,并且代码也更易读。