Javascript确保三元表达式中值“true”的最佳方法是什么

时间:2016-01-15 16:37:49

标签: javascript jslint

我使用jslint来检查我的javascript,并且遇到了一个我无法找到的JSLint错误 表达式是:

go

错误是:

var foo = (bar === true ? true : false);

表达式的目的是我希望var的值为布尔值true而不是1或“not null”或任何其他“truthy”值。只有值true才会导致赋值为true

表达这种情况的最佳方式是什么?

2 个答案:

答案 0 :(得分:6)

jslint建议如下,因为Window.Resourcesx?true:false等效:

!!x

但是你可以更简化它,因为var foo = !!(bar === true); 总是返回一个布尔值:

===

答案 1 :(得分:2)

如果bartruebar === true将评估为true。你根本不需要三元组。