【发布时间】:2015-09-18 06:22:21
【问题描述】:
我有一个变量。我们就叫它toto吧。
此toto 可以设置为undefined、null、字符串或对象。
我想检查toto是否设置为数据,即设置为字符串或对象,既不是undefined也不是null,并在另一个变量中设置相应的布尔值。
我想到了 !! 的语法,它看起来像这样:
var tata = !!toto; // tata would be set to true or false, whatever toto is.
如果 toto 是 undefined 或 null 和 true,第一个 ! 将设置为 false,否则第二个将反转它。
但它看起来有点奇怪。那么有没有更清晰的方法来做到这一点?
我已经查看了this question,但我想在变量中设置一个值,而不仅仅是在if 语句中检查它。
【问题讨论】:
-
这个问题被标记为重复但如果你看另一个问题stackoverflow.com/questions/263965/…它是完全不同的;它们根本不是重复的
-
@Sam 对不起,我确认了这个重复,我不知道这个其他问题,但它确实解决了我的问题。
-
@Aracthor 这不是重复的,因为stackoverflow.com/questions/263965/… 是关于将仅包含单词“true”和“false”的字符串转换为其布尔对应项。这个问题是关于根据它是真还是假将任何变量转换为布尔值。
-
在MDN上,根据Double NOT (!!),也可以通过Boolean函数进行“真实”转换。
标签: javascript boolean-expression