運算子(Operators)
是程式語言中基本且超常見的元素,它們用於執行各種操作,例如數學運算、字串連接和邏輯判斷等等。接下來將簡單介紹在 JavaScript 中運算子的種類,並解釋運算子的 優先性
和 相依性
的概念。
JavaScript 中的運算子可以分為多個種類,每種又包含多個項目,
因此這裡就先整理運算子的常見種類並以表格呈現,更多請參考 MDN文件。
種類 | 作用 | 範例 |
---|---|---|
賦值運算子 | 用於賦值給變數。 | x = y 、x += y |
比較運算子 | 用於比較值之間的關係,返回布林值(true 或 false)。 | x > y 、x === y |
算術運算子 | 用於執行數學計算,如四則運算。 | x + y 、x++ |
邏輯運算子 | 用於執行邏輯運算,如 AND、OR 和 NOT。 | x && y 、!x |
字串運算子 | 用於連接字串。 | 'pine' + 'apple' |
條件(三元)運算子 | JavaScript 中唯一需要三個運算元的運算子。根據條件回傳對應的值。語法為「條件 ? 值1 : 值2」 | x >= 18 ? '成人' : '小孩' |
其他還有關係運算子、位元運算子等等。
優先性(Precedence)
是指在表達式中多個運算子的情況下,哪些運算子會被優先計算。JavaScript 定義了每種運算子的優先性,以確定它們的評估順序。以下是一些常見運算子的優先性,由高到低排序:
.
和 []
用於訪問對象的屬性和方法。例如:myObject.name
、myList[0]
()
內的計算。!
、++
、--
、typeof
*
、/
、%
。+
和 -
。<
、>
、<=
、>=
。==
、!=
、===
、!==
。&&
||
? :
=
、+=
、-=
、*=
、/=
、%=
等。,
為最低優先性,用於分隔多個表達式。相依性(Associativity)
是指在具有相同優先性的多個運算子時,
它們的計算順序是「從左到右(左相依性)」還是「從右到左(右相依性)」。
以下是常見的範例。
// 加法運算子具有左相依性,這裡可以看作 (x + y) + z
x + y + z
// 邏輯 AND 具有左相依性,這裡可以看作 (a && b) && c
a && b && c
// 賦值具有右相依性,這裡可以看作 a = (b = 5)
let a, b;
a = b = 5;
console.log(a); // 5
console.log(b); // 5
今天介紹了常見運算子(Operators)的種類,並介紹了運算子的優先性(Precedence)
和相依性(Associativity)
。優先性確定了運算子的計算順序,而相依性確定了多個相同優先性的運算子的處理方向。熟悉這些概念有助於撰寫正確的表達式並避免常見的錯誤。可以在 MDN文件 閱讀更詳盡的介紹。
那今天就到這邊,明天見~