Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/scala/17.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript保证价值的最佳方式是什么;“真的”;用三元表达式_Javascript_Jslint - Fatal编程技术网

Javascript保证价值的最佳方式是什么;“真的”;用三元表达式

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。你根本不需要

我使用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。你根本不需要三元。

jslint建议如下,因为
x?true:false
等于
!!x

var foo = !!(bar === true);
但是,您可以进一步简化它,因为
==
始终返回布尔值:

var foo = bar === true;

谢谢你,我想得太多了。现在看来很明显