算數運算子
算數運算子用於執行基本的數學操作。以下是 TypeScript 中常見的算數運算子:
+(加法):將兩個操作數相加。-(減法):從第一個操作數中減去第二個操作數。*(乘法):將兩個操作數相乘。/(除法):將第一個操作數除以第二個操作數。%(取餘):將第一個操作數除以第二個操作數並返回餘數。++(自增):將操作數加一。-(自減):將操作數減一。
範例:
let a: number = 10;
let b: number = 5;
console.log(a + b); // 15
console.log(a - b); // 5
console.log(a * b); // 50
console.log(a / b); // 2
console.log(a % b); // 0
a++;
console.log(a); // 11
b--;
console.log(b); // 4
比較運算子
比較運算子用於比較兩個值並返回布林值。以下是常見的比較運算子:==(相等):如果兩個操作數相等,則返回true。===(嚴格相等):如果兩個操作數值和類型都相等,則返回true。!=(不相等):如果兩個操作數不相等,則返回true。!==(嚴格不相等):如果兩個操作數的值和類型都不相等,則返回true。>(大於):如果左操作數大於右操作數,則返回true。<(小於):如果左操作數小於右操作數,則返回true。>=(大於等於):如果左操作數大於或等於右操作數,則返回true。<=(小於等於):如果左操作數小於或等於右操作數,則返回true。
範例:
let x: number = 10;
let y: number = 5;
console.log(x == y); // false
console.log(x === 10); // true
console.log(x != y); // true
console.log(x !== y); // true
console.log(x > y); // true
console.log(x < y); // false
console.log(x >= 10); // true
console.log(x <= 5); // false
賦值運算子
賦值運算子用於為變數賦值。以下是常見的賦值運算子:
=(賦值):將右操作數的值賦給左操作數。+=(加賦值):將右操作數與左操作數相加,並將結果賦給左操作數。=(減賦值):將右操作數從左操作數中減去,並將結果賦給左操作數。=(乘賦值):將左操作數與右操作數相乘,並將結果賦給左操作數。/=(除賦值):將左操作數除以右操作數,並將結果賦給左操作數。%=(取餘賦值):將左操作數取餘右操作數,並將結果賦給左操作數。
範例:
let a: number = 10;
let b: number = 5;
a += b; // 相當於 a = a + b;
console.log(a); // 15
a -= b; // 相當於 a = a - b;
console.log(a); // 10
a *= b; // 相當於 a = a * b;
console.log(a); // 50
a /= b; // 相當於 a = a / b;
console.log(a); // 10
a %= b; // 相當於 a = a % b;
console.log(a); // 0
位元運算子
位元運算子用於對二進位進行操作。以下是常見的位元運算子:
&(按位與):按位與操作。|(按位或):按位或操作。^(按位異或):按位異或操作。~(按位非):按位取反操作。<<(左移):將左操作數的二進位向左移動指定的位數。>>(右移):將左操作數的二進位向右移動指定的位數。>>>(無符號右移):將左操作數的二進位向右移動指定的位數,並在左側補零。
範例:
let a: number = 5; // 二進位:0101
let b: number = 3; // 二進位:0011
console.log(a & b); // 1 -> 0001
console.log(a | b); // 7 -> 0111
console.log(a ^ b); // 6 -> 0110
console.log(~a); // -6 -> 1010
console.log(a << 1); // 10 -> 1010
console.log(a >> 1); // 2 -> 0010
console.log(a >>> 1); // 2 -> 0010
運算子的優先等級
運算子的優先等級決定了在表達式中運算子執行的順序。以下是常見運算子的優先等級(從高到低):
- 括號:
() - 成員訪問:
obj.property - 物件創建:
new - 函數調用:
func() - 遞增和遞減:
++,- - 一元運算子:
+,``,!,~ - 乘法,除法,取餘:``,
/,% - 加法和減法:
+,`` - 位移運算:
<<,>>,>>> - 比較運算:
<,<=,>,>= - 相等運算:
==,!=,===,!== - 按位與:
& - 按位異或:
^ - 按位或:
| - 邏輯與:
&& - 邏輯或:
|| - 三元運算子:
? : - 賦值運算子:
=,+=,=,= - 解構賦值:
=
範例:
let a: number = 10;
let b: number = 5;
let c: number = 2;
let result: number;
result = a + b * c; // 20,因為乘法的優先等級高於加法
console.log(result);
result = (a + b) * c; // 30,因為括號的優先等級最高
console.log(result);
result = a > b && b > c; // true,因為比較運算和邏輯運算
console.log(result);
理解運算子的優先等級對於編寫正確和高效的代碼非常重要。



















