Lesson 5:邏輯AND(而且),OR(或者),與相等性判斷

(一)重要概念
  • 算術運算子 (arithmetic operators)
  • 賦值運算子 (assignment operators)
  • 比較運算子 (comparison operators)
  • 邏輯運算子 (logical operators)

 

 

(二)課程筆記( 課程影片,請按我

邏輯運算式

&& 真正的意義是當先行的運算元可以被轉成 true 時回傳之後的運算元,否則回傳先行運算元。

|| 當先行運算元可以被轉成 true 拾回傳先行運算元,否則回傳後運算元。

關係運算式

=== 被稱為嚴格相等性(strict equiality) 運算子,它使用嚴格的同等性定義來檢查兩個運算元是否「完全相同」。

==    被稱為相等性運算子,它使用允許型別轉換、較為寬鬆的同等性定義來檢查兩個運算元是否相等。

JavaScript 支援  =、==,以及 === 運算子。

= 為「得到或被指定至」( gets or is assigned )

== 為「等於」( is equal to )

=== 為「嚴格等於」( is strictly equal to )

~「JavaScript 大全,David Flanagan 著(O'Reilly)。 版權所有 2011 David Flanagan,978-0-596-80552-4。」

 

在 JavaScript 裡,當你想比對兩個 value 是否相等時,請使用嚴格等於 ===
而不是寬鬆等於 ==。JavaScript 是一個弱型別的語言,
意思是說在 JavaScript 裡,型別特別容易自動轉換,而 == 
不會特別判斷兩邊的資料型別是否不同,因此會發生許多難以掌握的狀況。 
=== 會進一步比較資料型別是否相等,
因此在撰寫 JavaScript 時一定要記得使用 ===
在 重量級著作 JavaScript: The Good Parts 裡,
Douglas Crockford 說得非常清楚:
「我的建議是永遠不要使用這對邪惡的雙胞胎
(指 == 和 !=),
永遠使用 === 和 !==。」

 

數學 設定 遞增/遞減 比較 邏輯
+ = ◌++ === &&
- += ◌-- !== ||
* -=   > !
/ *=   <  
% /=   >=  
( ) %=   <=