JavaScript 101

1. Hello JavaScript
2. 声明变量
3. 常用类型
4. 运算符
5. 函数
6. 条件语句
7. 循环
8. 数组
9. 对象
10. 异步
4. 运算符
运算符

| | == | 相等 | | != | 不相等 | | > | 大于 | | < | 小于 | | >= | 大于等于 | | <= | 小于等于 | | === | 严格相等(推荐) | | !== | 严格不相等(推荐) |

let x = 1;
let y = 2;
let bool1 = (x == y); // false
let bool2 = (x != y); // true
let bool3 = (x > y); // false
let bool4 = (x < y); // true
let bool5 = (x >= y); // flase
let bool6 = (x <= y); // true
let bool7 = (x === y); // flase
let bool8 = (x !== y); // true

严格不相等

JavaScript 是弱类型语言,开发者在声明变量的时候不需要声明变量类型,而是由 JavaScript 引擎在编译时隐式完成。这会带来方便,但也带来一些坑。比如 == 和 != 操作符在比较时,会先对变量进行强制类型转换,然后再做比较:例如 "5" == 5 会返回 true。但是强制类型转换的规则很复杂,比如 "" == "0" 返回 false,但是 0 == "" 返回 true。

因此实际使用时,推荐用 === 和 !== 进行相等和不相等的判断:

  • 严格相等 ===:只有变量的值和类型均相等时,才算严格相等。
  • 严格不相等 !==:不同类型的变量是不相等的,例如 "5" 和 5 不相等。
// 相等/不相等,强制类型转换
"5" == 5; // true
"5" != 5; // false
// 严格相等/严格不相等,不进行类型转换
"5" === 5; // false
"5" !== 5; // true

3. 逻辑运算符

逻辑运算符常用于布尔值之间,主要有以下 3 个 (a 和 b 为布尔值):

  • 或 ||: a || b
  • 与 &&: a && b
  • 非 ! : !a

3.1 或 ||

或运算是指当参与运算的任何一个操作数为 true 时,返回的结果就为 true,否则就返回 false。即只要有一个操作数是对的,整个表达式就是对的。

true || true; // true
false || true; // true
true || false; // true
false || false; // false

3.2 与 &&

与运算是指当参与运算的任何一个操作数为false时,返回的结果就为false,否则就返回true。即所有操作数均是对的,整个表达式才是对的。

true && true; // true
false && true; // false
true && false; // false
false && false; // false

3.3 非 !

非运算符是对操作数取反,将 true 变为 false,false 变为 true。

!true; // false
!false; // true

习题

给出下面 6 个变量的值。你可以在链接上找到这段代码。

let a = 69;
let b = a++ + a;
let c = a * 2;
let d = (b === c);
let e = true;
let f = e && d;

console.log(f);

总结

这一讲,我们介绍了 JavaScript 中最常用的运算符:算数运算符,比较运算符,逻辑运算符。大家可能对递增/递减(++/--)和严格等于(===)比较陌生,不用担心,我们将在之后的教程中反复练习。

PreviousNext