Javascript保证价值的最佳方式是什么;“真的”;用三元表达式
我使用jslint检查我的javascript,发现一个jslint错误,我找不到。Javascript保证价值的最佳方式是什么;“真的”;用三元表达式,javascript,jslint,Javascript,Jslint,我使用jslint检查我的javascript,发现一个jslint错误,我找不到。 表达方式是: var foo = (bar === true ? true : false); 错误是: Expected '!!' and instead saw '?'. 表达式的目的是希望var的值是布尔值true,而不是1或“notnull”或任何其他“truthy”值。只有值true将导致赋值为true 最好的表达方式是什么?如果bar是true,bar===true将计算为true。你根本不需要
表达方式是:
var foo = (bar === true ? true : false);
错误是:
Expected '!!' and instead saw '?'.
表达式的目的是希望var的值是布尔值true,而不是1或“notnull”或任何其他“truthy”值。只有值true将导致赋值为true
最好的表达方式是什么?如果
bar
是true
,bar===true
将计算为true。你根本不需要三元。jslint建议如下,因为x?true:false
等于!!x
:
var foo = !!(bar === true);
但是,您可以进一步简化它,因为==
始终返回布尔值:
var foo = bar === true;
谢谢你,我想得太多了。现在看来很明显