15. 比较运算符 & 等号

最后更新于:2022-04-01 21:12:31

* [15.1](https://github.com/yuche/javascript#15.1) 优先使用 `===` 和 `!==` 而不是 `==` 和 `!=`. * [15.2](https://github.com/yuche/javascript#15.2) 条件表达式例如 `if` 语句通过抽象方法 `ToBoolean` 强制计算它们的表达式并且总是遵守下面的规则: * **对象** 被计算为 **true** * **Undefined** 被计算为 **false** * **Null** 被计算为 **false** * **布尔值** 被计算为 **布尔的值** * **数字** 如果是 **+0、-0、或 NaN** 被计算为 **false**, 否则为 **true** * **字符串** 如果是空字符串 `''` 被计算为 **false**,否则为 **true** ~~~ if ([0]) { // true // An array is an object, objects evaluate to true } ~~~ * [15.3](https://github.com/yuche/javascript#15.3) 使用简写。 ~~~ // bad if (name !== '') { // ...stuff... } // good if (name) { // ...stuff... } // bad if (collection.length > 0) { // ...stuff... } // good if (collection.length) { // ...stuff... } ~~~ * [15.4](https://github.com/yuche/javascript#15.4) 想了解更多信息,参考 Angus Croll 的 [Truth Equality and JavaScript](http://javascriptweblog.wordpress.com/2011/02/07/truth-equality-and-javascript/#more-2108)。
';