比较运算符&等号

译自:Airbnb JavaScript Style Guide
原文地址:https://github.com/airbnb/javascript/blob/es5-deprecated/es5/README.md

  • 优先使用===!==而不是==!=
  • 条件表达式例如 if 语句通过抽象方法 ToBoolean 强制计算它们的表达式并且总是遵守下面的规则:
    • 对象 被计算为 true
    • Undefined 被计算为 false
    • Null 被计算为 false
    • 布尔值 被计算为 布尔的值
    • 数字 如果是 +0、-0、或 NaN 被计算为 false, 否则为 true
    • 字符串 如果是空字符串 ‘’ 被计算为 false,否则为 true
1
2
3
4
if ([0]) {
// true
// An array is an object, objects evaluate to true
}
  • 使用简写
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
// bad
if (name !== '') {
// ...stuff...
}
// good
if (name) {
// ...stuff...
}
// bad
if (collection.length > 0) {
// ...stuff...
}
// good
if (collection.length) {
// ...stuff...
}