为什么Resharper说表达式是真的?突出显示的是!!bar
。
我会说,如果它应该对它说什么,它可能会说它总是错误的。还是我在放松自己的想法?
function foo(bar){
bar = !bar ? !!bar : bar;
}
我的想法是,如果bar
为undefined
,则评估为false
并转换为boolean
。
答案 0 :(得分:2)
我无法解答为什么resharper会这么说,但如果你想要的是将值强制转换为booolean,你难道不能重写它bar = !!bar
吗?