以下是原始文本的繁體中文翻譯:
# JavaScript - 邏輯運算符
你好,未來的JavaScript大師們!今天,我們將踏上一段令人興奮的旅程,進入邏輯運算符的世界。別擔心你對編程還是新手——我會成為你友善的導遊,我們將一步一步地探索這個主題。在本課結束時,你將能夠像專家一樣使用邏輯運算符!
## JavaScript 邏輯運算符
邏輯運算是編程世界的決策者。它們幫助我們做選擇和控制代碼的流程。在JavaScript中,我們有三個主要的邏輯運算符:
| 運算符 | 名稱 | 描述 |
|--------|------|------|
| && | AND | 如果兩個操作數都為true,則返回true |
| \|\| | OR | 如果至少一個操作數為true,則返回true |
| ! | NOT | 反轉其操作數的布爾值 |
讓我們深入這些運算符,看看它們是如何施展魔法的!
## JavaScript 邏輯與(&&)運算符
與運算符(&&)就像一個嚴格的家長——只有當它的兩個操作數都為true時,它才返回true。如果任一操作數為false,結果就是false。
讓我們看一些例子:
```javascript
let isAdult = true;
let hasID = true;
console.log(isAdult && hasID); // 輸出:true
let isTired = true;
let hasCoffee = false;
console.log(isTired && hasCoffee); // 輸出:false
在第一個例子中,isAdult
和hasID
都為true,所以結果是true。這就像說:"如果你是成年人並且有身份證,你就可以進入俱樂部。" 必須滿足兩個條件。
在第二個例子中,即使isTired
為true,但hasCoffee
為false,所以結果是false。這就像說:"如果我又累又有咖啡,我會有效率。" 但由於沒有咖啡,所以生產力不會發生!
JavaScript 邏輯或(||)運算符
或運算符(||)則更加寬容——如果至少有一個操作數為true,它就返回true。只有當兩個操作數都為false時,它才返回false。
這裡有一些例子:
let hasCash = true;
let hasCard = false;
console.log(hasCash || hasCard); // 輸出:true
let isRaining = false;
let isSnowing = false;
console.log(isRaining || isSnowing); // 輸出:false
在第一個例子中,hasCash
為true,所以即使hasCard
為false,結果也是true。這就像說:"如果你有現金或信用卡,你就可以購買這個物品。" 擁有其中一個就足夠了。
在第二個例子中,isRaining
和isSnowing
都為false,所以結果是false。這就像說:"如果下雨或下雪,我會待在室內。" 但由於兩者都沒有發生,你可以自由地出去!
JavaScript 邏輯非(!)運算符
非運算符(!)是這群人中的反叛者——它會反轉其操作數的布爾值。如果某件事為true,它會使其變為false,反之亦然。
讓我們看看它是如何工作的:
let isSunny = true;
console.log(!isSunny); // 輸出:false
let isMonday = false;
console.log(!isMonday); // 輸出:true
在第一個例子中,isSunny
為true,但!isSunny
為false。這就像說:"現在不是陽光明媚的。",其實它是。
在第二個例子中,isMonday
為false,但!isMonday
為true。這就像慶祝:"今天不是星期一!"
邏輯運算符的優先級
就像在數學中一樣,邏輯運算符也有優先級。這是它們的排名:
- 非運算符 (!)
- 與運算符 (&&)
- 或運算符 (||)
這意味著非運算符首先被評估,然後是與運算符,最後是或運算符。讓我們看一個例子:
let a = true;
let b = false;
let c = true;
console.log(a || b && !c); // 輸出:true
這是評估的順序:
- 首先評估
!c
:!true
變成false
- 然後評估
b && false
:false && false
是false
- 最後評估
a || false
:true || false
是true
所以,最終結果是true。
短路評估
短路評估是JavaScript用來優化邏輯操作的一個巧妙技巧。這意味著在某些情況下,JavaScript不需要評估邏輯表達式的所有部分就可以確定結果。
對於與運算符:
console.log(false && anything); // 輸出:false
在這種情況下,JavaScript知道如果第一個操作數是false,整個表達式將為false,所以它甚至不評估 anything
。
對於或運算符:
console.log(true || anything); // 輸出:true
這裡,JavaScript看到第一個操作數是true,所以它知道整個表達式將為true,無論 anything
是什麼。
這可以非常有用,用於避免錯誤。例如:
let user = null;
console.log(user && user.name); // 輸出:null
如果 user
是null,JavaScript會短路並返回null,而不是嘗試訪問 user.name
,這會導致錯誤。
這就是全部,各位!你剛剛完成了JavaScript邏輯運算符的速成課程。記住,這些小符號是你編程工具包中的強大工具。它們幫助你做決策,控制代碼流程,甚至防止錯誤。
在你繼續你的JavaScript旅程時,你會發現自己越來越多地使用這些運算符。不要害怕與它們實驗——這是你可以真正掌握它們的使用方法。快樂編程,願你的邏輯操作總是得出你期望的結果!
Credits: Image by storyset