Z
ZHANK

运算符

掌握算术、比较、逻辑、位运算符

运算符

JavaScript 提供丰富的运算符,用于数学计算、比较、逻辑判断。

学完本章你将: 掌握算术、比较、逻辑、赋值运算符。


算术运算符

javascript
let a = 10;
let b = 3;

console.log(a + b);  // 13   加法
console.log(a - b);  // 7    减法
console.log(a * b);  // 30   乘法
console.log(a / b);  // 3.33.. 除法
console.log(a % b);  // 1    取余
console.log(a ** b); // 1000 指数(ES7)

// 自增自减
let x = 5;
x++; // 6(后置自增)
++x; // 7(前置自增)
x--; // 6

比较运算符

javascript
console.log(5 > 3);    // true
console.log(5 >= 5);   // true
console.log(5 < 3);    // false

// 相等 vs 严格相等
console.log(5 == "5");  // true(类型转换后比较)
console.log(5 === "5"); // false(不转换类型,推荐使用)

console.log(null == undefined);  // true
console.log(null === undefined); // false

逻辑运算符

javascript
// AND
console.log(true && false);  // false
console.log(true && "hello"); // "hello"(返回最后一个真值)

// OR
console.log(false || true);  // true
console.log(0 || "default"); // "default"(返回第一个真值)

// NOT
console.log(!true);   // false
console.log(!"hello"); // false
console.log(!!"hello"); // true(双重否定转布尔)

// 空值合并(ES2020)
let value = null ?? "默认值";
console.log(value); // "默认值"

赋值运算符

javascript
let num = 10;
num += 5;  // num = num + 5  → 15
num -= 3;  // 12
num *= 2;  // 24
num /= 4;  // 6
num %= 4;  // 2
num **= 3; // 8

三元运算符

javascript
let age = 20;
let status = age >= 18 ? "成年人" : "未成年人";
console.log(status); // "成年人"

// 可以嵌套(但不要太深)
let score = 85;
let grade = score >= 90 ? "A" :
            score >= 80 ? "B" :
            score >= 70 ? "C" : "D";
console.log(grade); // "B"