iT邦幫忙

2024 iThome 鐵人賽

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

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

菜雞學習JavaScript的30日讀書分享【Day 10】加減運算子

  • 分享至 

  • xImage
  •  

前言

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

運算子的四則運算-減法運算子(-)

減法(-)跟加法一樣,如果是相同的數字計算,那麼就是單純的數值計算。

const bear = 10 - 5;
console.log(bear); // 5

如果是Infinity(無限大or無限小)的話,就像前面所說的Infinity是一種概念,所以沒有辦法相減。

Infinity - Infinity // NaN

-Infinity - -Infinity // NaN

-Infinity - Infinify // -Infinity

Infinty - -Infinity // Infinity

只要是其中一個NaN,那麼結果必定會是NaN
不過跟加法不同的地方是,在減法的情況時,只要其中一個不是數字的時候,會有一些情況發生。

基本型別:

在做減法運算時,只要其中一方屬於基本型別而且不是數字的時候,那麼JavaScript會先透過Number()將數值轉成數字,最後才進行運算。

200 - "100" // 100

200 = "zxc" // NaN

false經過Number()轉成數字後會變成0
200 - false // 200

true經過Number()轉成數字後會變成1
200 - true // 199

200 - undefined // NaN

200 - null // 200

物件型別:

會先透過物件的valueOf()方法,先求得對應的數值會得到NaN,那麼結果就會是NaN

如果沒有valueOf()方法,則會透過toString()先轉成字串後,再以Number()嘗試將數值轉成數字後才進行運算。

200 - {} // NaN

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


上一篇
菜雞學習JavaScript的30日讀書分享【Day 9】相加運算子
下一篇
菜雞學習JavaScript的30日讀書分享【Day 11】乘法運算子
系列文
菜雞學習JavaScript的30日讀書分享30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言