更换是否100%正确!!带布尔值的someVar(someVar)

Is it 100% correct to replace !!someVar with Boolean(someVar)?

本文关键字:someVar 布尔值 100% 正确 是否      更新时间:2023-09-26

我正在重构一堆旧代码,并看到JSCS显示了关于隐式类型转换的警告!!someVar语句。

用布尔值(someVar)替换所有这些隐式转换,这样就不会因此更改而中断,这正确吗?

Boolean(someVar)替换!!someVar是否100%正确?

没有。全局Boolean变量可能被覆盖/隐藏,而!!运算符则不能。

Boolean(someVar)替换所有这些隐式转换,这样就不会因此更改而中断,这正确吗?

是的。如果您的代码因此更改而中断,则应将其视为已中断,而应该修复Boolean的问题。

作为另一个选项,您可以禁用该警告。在Javascript编程中,使用truthiness/falsines是非常容易接受的。看起来您可以仅为boolean禁用它,而不能为其他类型禁用它。