.

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

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

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

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
.
圖片
  直播研討會

尚未有邦友留言

立即登入留言