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
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言