當你剛開始學習 JavaScript 時,運算子和數學函數是不可或缺的基礎。這些工具讓你能夠處理數字、執行計算,甚至在程式邏輯中做出判斷。本文將介紹 JavaScript 常見的運算子與數學函數。
JavaScript 運算子
算術運算子
算術運算子是用來進行數學計算的基本工具,以下是最常見的幾種:+
加法:a + b
。-
減法:a - b
。*
乘法:a * b
。/
除法:a / b
。%
取餘數:a % b
。**
次方:a ** b
。
let a = 10, b = 3;
console.log("加法:", a + b); // 13
console.log("減法:", a - b); // 7
console.log("乘法:", a * b); // 30
console.log("除法:", a / b); // 3.3333...
console.log("取餘:", a % b); // 1
console.log("次方:", a ** b); // 1000
遞增與遞減運算子
這些運算子用於將變數的值加 1 或減 1:++
:遞增運算子,將變數加 1。--
:遞減運算子,將變數減 1。
這些運算子可以放在變數前面(前置)或後面(後置),位置不同會影響運算結果。
let x = 5;
console.log("後置遞增前:", x++); // 5
console.log("後置遞增後:", x); // 6
console.log("前置遞增:", ++x); // 7
console.log("前置遞減:", --x); // 6
console.log("後置遞減前:", x--); // 6
console.log("後置遞減後:", x); // 5
指派運算子
指派運算子用來將值賦給變數。最基本的是 =
,但也有結合算術的寫法:
=
:直接賦值。+=
:加後再賦值。-=
:減後再賦值。*=
、/=
、%=
也同理。
let y = 10;
y += 5; // y = y + 5
console.log("加法指派:", y); // 15
y -= 3; // y = y - 3
console.log("減法指派:", y); // 12
y *= 2; // y = y * 2
console.log("乘法指派:", y); // 24
y /= 4; // y = y / 4
console.log("除法指派:", y); // 6
y %= 4; // y = y % 4
console.log("取餘指派:", y); // 2
比較運算子
比較運算子用來判斷兩個值的關係,結果會是布林值(true
或 false
):
==
:等於(不比較型別)。===
:全等於(值與型別都相同)。!=
:不等於(不比較型別)。!==
:不全等於(值或型別不相同)。>
:大於。<
:小於。>=
:大於或等於。<=
:小於或等於。
console.log("等於:", 5 == "5"); // true (不比較型別)
console.log("全等於:", 5 === "5"); // false (值和型別都比較)
console.log("不等於:", 5 != "5"); // false (不比較型別)
console.log("不全等於:", 5 !== "5"); // true (型別不同)
console.log("大於:", 10 > 5); // true
console.log("小於:", 5 < 10); // true
console.log("大於等於:", 10 >= 10); // true
console.log("小於等於:", 5 <= 10); // true
邏輯運算子
邏輯運算子用於多個條件的組合:
&&
(AND):兩個條件都為true
時,結果才為true
。||
(OR):至少一個條件為true
時,結果就為true
。!
(NOT):將布林值反轉,true
變false
,false
變true
。
// 邏輯運算子
let p = true, q = false;
console.log("&&邏輯:", p && q); // false (兩者都為true才返回true)
console.log("||邏輯:", p || q); // true (至少一個為true就返回true)
console.log("!邏輯:", !p); // false (將布林值反轉)
數學函數
JavaScript 內建 Math
物件,提供許多常用的數學函數:
四捨五入與取整
Math.round(x)
:四捨五入。Math.floor(x)
:無條件捨去(向下取整)。Math.ceil(x)
:無條件進位(向上取整)。
console.log(Math.round(2.6)); // 3
console.log(Math.floor(2.6)); // 2
console.log(Math.ceil(2.6)); // 3
最大值與最小值
Math.max(a, b, ...)
:回傳最大值。Math.min(a, b, ...)
:回傳最小值。
console.log(Math.max(1, 5, 10)); // 10
console.log(Math.min(1, 5, 10)); // 1
隨機數
Math.random()
可以產生 0(含)到 1(不含)之間的亂數:
console.log("隨機數(0-1):", Math.random());
若要產生 1 到 10 的整數:
console.log("隨機整數(1-10):", Math.floor(Math.random() * 10) + 1);
// 解釋:Math.random() * 10 產生 0-9.999...
// Math.floor 無條件捨去後得到 0-9
// +1 後得到 1-10
其他常用函數
Math.abs(x)
:絕對值。Math.sqrt(x)
:平方根。Math.pow(x, y)
:x 的 y 次方。
console.log(Math.abs(-5)); // 5
console.log(Math.sqrt(16)); // 4
console.log(Math.pow(2, 3)); // 8
結語
運算子和數學函數是 JavaScript 的基礎。掌握這些基本的運算子與數學函數就像是學會了程式語言的「加減乘除」。這些運算子和數學函數看似簡單,但組合起來卻能解決複雜的問題。