基础知识2026年1月24日星期六

运算符与表达式

进行数学运算和比较。

广告

查看赞助商以支持 JS Fruggal。

如果变量是编程的“名词”(事物),那么运算符就是动词和连词。它们让我们能够进行数学运算、比较值并做出逻辑决策。

决策机器

想象一个登录屏幕。它是如何工作的?
它使用运算符:"IF (password === correctPassword && 2FA === true) THEN login."

1. 算术 (数学)

JavaScript 处理数学运算就像计算器一样。

math.js
let price = 10;
let tax = 2;

console.log(price + tax); // 加
console.log(price - tax); // 减
console.log(price * tax); // 乘
console.log(price / tax); // 除

// "取模" 运算符 (%) 给出余数
// 用于检查数字是奇数还是偶数
console.log(10 % 3); // 1 (因为 3 进入 10 三次,还剩 1)

2. 捷径赋值

程序员都是懒惰(高效)的。代替写 x = x + 5,我们有捷径。

let score = 100;

score += 10; // 等同于: score = score + 10
console.log(score); // 110

score -= 50; // 等同于: score = score - 50
console.log(score); // 60

score++; // 增加 1
console.log(score); // 61

3. 危险的“双等号”

专业规则 #1

永远不要使用 ==。始终使用 ===
== 执行“类型强制”,这意味着它尝试转换类型以匹配。这会导致可怕的 bug。
=== 检查值和类型(严格相等)。

const numberFive = 5;
const stringFive = "5";

// 宽松相等 (坏)
// JS 隐式地将字符串 "5" 转换为数字 5。
console.log(numberFive == stringFive); // true (等等,什么?)

// 严格相等 (好)
// JS 看到一个是数字而另一个是字符串。不同。
console.log(numberFive === stringFive); // false

4. 逻辑门

这些允许你组合多个要求。

  • && (AND/与): 双方都必须为真。(例如: 有票 AND 有身份证)。
  • || (OR/或): 只需要一方为真。(例如: 现金支付 OR 刷卡支付)。
  • ! (NOT/非): 反转值。(例如: NOT 已登录)。
const isAdult = true;
const hasTicket = false;
const isVip = true;

// 俱乐部入场逻辑
const canEnter = (isAdult && hasTicket) || isVip;

console.log("Can enter?", canEnter); 
// 为什么是 true?
// (true && false) 是 FALSE。
// 但是 (false || true) 是 TRUE。VIP 拯救了局面。
广告

查看赞助商以支持 JS Fruggal。