
上QQ阅读APP看本书,新人免费读10天
设备和账号都新为新人
2.7 truthy
JavaScript有一个thuthy的概念,用来定义在某些位置上被评估为true的代码(例如,if条件语句中的boolean、&&、||操作符)。例如,下面的代码在JavaScript中会被认为是truthy的(在if条件语句中,条件为除0以外的任何数字都会被认为true,即判断结果是truthy的)。

如果代码不是truthy的,则会被认为是falsy的。
下面是一个表格,仅供参考。

通过操作符!!,你可以很容易地将某些值转化为布尔类型的值(true或false)。例如!!foo,它使用了两次!,第1个!用来将其(在这里是foo)转换为布尔值(truthy-!>false,falsy-!>true),但是这一操作使其逻辑反转;第2个!,将会切换到与原始对象匹配的布尔值(例如,truthy-!>false-!>true)。
在很多地方都可以使用操作符!!。
