# 逻辑与(&&)

1. var a = 0 && 3 // a == 0

2. var b = 2 && 0  // b == 0

3. var c = 3 && false  // c == false

4. var d = 2 && 3  // d == 3

5. var e = 2 && 3 && 4  //  e == 4

6. var f = 2 && false && 0  // f == false 
1
2
3
4
5
6
7
8
9
10
11

表达式中有条件为false的表达式,返回第一个条件为false的表达式的值。没有则返回最后一个表达式的值。

# 逻辑或(||)

1. var a = 0 || 3  // a == 3

2. var b = 2 || 0  // b == 2

3. var c = 3 || false  // c == 3

4. var d = 2 || 3  // d == 2

5. var e = 0 || 3 || 4  // e == 3

6. var f = 0 || false || null  // f == null 
1
2
3
4
5
6
7
8
9
10
11

表达式中有条件为true的表达式,返回第一个条件为true的表达式的值。没有则返回最后一个表达式的值

转换规则:
1. 对象为true
2. 非零数字为true
3. 非空字符串为true
4. 其他为false
1
2
3
4
5

TOC