这种比较没有任何意义,因为要么x是真实的,那么你得到的结果是x,或得到false假的(假的值永远不会严格等于空对象实例).
一个简洁的版本将是
x || false
Run Code Online (Sandbox Code Playgroud)
给我x或false.
x || x === {}基本上是指x || false.
!!x意思是" x真正的",所以它不完全相同 - 如果真的是真的x || x === {}会返回.在同样的情况下,将返回.xx!!xtrue
||运算符意味着"如果左侧是真的(不是null,不是undefined,0等等 - 请参阅JavaScript中的所有falsey值以获取详细信息)返回左侧,否则返回右侧".
在右侧,你x === {}总是评估false,因为严格的比较意味着比较参考(即,"是x同一个对象{},从来都不是真的)
!!x并且x || x === {}只有当x === true或时才会相同x === false
| 归档时间: |
|
| 查看次数: |
271 次 |
| 最近记录: |