.

iT邦幫忙

2024 iThome 鐵人賽

DAY 18
1
佛心分享-IT 人自學之術

菜雞學習JavaScript的30日讀書分享系列 第 18

菜雞學習 JavaScript 的 30 日讀書分享【Day 18】自動轉型-下

  • 分享至 

  • xImage
  •  

====================本系列文章沒有什麼高深的理論====================
====================純粹是以一個菜雞的視角來分享====================

數值的大於 > 與小於 <

除了判斷是相等以外,也有為數值的「大小」做比較的情況。

使用的算運子就是大家常見的大於 >、小於 <、大於等於 >=、小於等於 <= 符號。

「自動轉型」也會在這些運算子進行轉換:

  • 兩者都是數的情況下,只有單純的數字比較大小。
  • 如果只有其中一個是數字的情況下,JavaScript 則會在背後先嘗試轉成數字後才進行比較。
  • 如果兩者都是字串的情況,則會依照字母的順序 (Standard Lexicographical Ordering) 才進行比較。
  • 如果是在物件的情況下,則會先透過物件的 valueOf() 方法,先求出對應的值,若物件沒有 valueOf() 方法,則會透過 toString() 轉型才進行比較。
const cat = 10;
const dog = 15;
const bear = 10;

console.log( cat > dog); // false
console.log( cat < dog); // true

console.log( cat > bear); // false
console.log( cat >= bear); // true

另外需要注意的一點是 =>,這個其實不是什麼「等於大於」,這個是 ES6 新增的箭頭函數(Arrow function),要小心不要搞錯了。

JavaScript 還有一個很有趣的真值表可以參考。

今日的分享就到這囉,我們明天見,掰掰!


上一篇
菜雞學習 JavaScript 的 30 日讀書分享【Day 17】自動轉型-上
下一篇
菜雞學習 JavaScript 的 30 日讀書分享【Day 19】指派運算子
系列文
菜雞學習JavaScript的30日讀書分享30
.
圖片
  直播研討會

尚未有邦友留言

立即登入留言