我尝试对此使用三元运算符/布尔运算符,它适用于其他数据类型,但不适用于布尔值本身 示例: let dummyObj = { testdata: falsenull); // same behavior, always returns null if the testdata value is false 此语句总是返回null,因为testdata的值本身为如果数据不是布尔值
x,尽管期望表达式是布尔值(即零或非零),而不是整数。BOOST_ASSERT(!!p); // where `p` is a pointer
当只有!!我通过布尔参数所理解的是一个转换为积分类型值的表达式,并将该值与零、显式或隐式(与if或其三元运算符等效)进行比较。因此,如果我对布尔值的理解是正确的,那么任何只需要0或1的布尔值就会被错误地实现。