iT邦幫忙

第 12 屆 iThome 鐵人賽

DAY 5
0
自我挑戰組

草頭黃小姐的 30 天 JavaScript 自學小本本系列 第 5

Day 05 JavqScript 的不同資料型態混在一起會發生什麼事呢?

Welcom to the Keddie Show, this is Keddie. ( 一日一致敬,猜猜今日是向誰?XDD )
還記得上一回提到 JavaScript 的變數本身是沒有資料型態的,但是如果我們把不同型態的資料放在一起,又會變得怎麼樣呢?

甘安捏~不同資料型態混在一起

在這之前我們先來知道一下要如何用 JSbin 印出東西來
打開你的 JSbin,並在 JavaScript 的欄位內打出 "console.log"
並在 console.log 之下打( 1 + 1),請記得後面要用分號結束,最後在畫面的右上按 "Run with JS" 就會發現以下結果:

https://ithelp.ithome.com.tw/upload/images/20200918/201208334rmFRJO61q.png

接著我要丟出變化球了唷,如果我們今天用數字 1 加上字串 "1",猜看看會有什麼結果呢?


原因是因為,JavaScript 在看到你用不同型態的資料,會幫你轉型,讓前面的數字 1 變成了文字,於是他們疊再一起變成 11 。但轉型的結果,是不是我們需要的,就不一定了。

如果今天 console.log 裡的資料型態來個字串"hello world" 加上數字 123,你猜會印出什麼東西出來呢?
不吊大家胃口,在這裡我們知道數字遇到字串,數字會變轉型成文字,於是印出的結果如下:

那如果我們把剛剛例子中的 123 換成 true 呢?又會發生什麼事?
依然會把真假值(布林值)變成文字,可想而知,就會變成:

##如果我們用數字和布林值呢?
剛剛是字串和布林值,布林值會轉型成字串。
如果是數字和布林值呢?

用剛剛的例子: console.log( 123 + true)?
這時會產生特別的變化,這邊要特別記住:
布林值在和數字合併的時候,會轉型為數字

  • true 會變 1
  • false 會變 0

因此這裡的結果會跑出 123+1 = 124


上一篇
Day 04 JavaScript 的變數和資料型態
下一篇
Day 06 JavaScript 不同資料型態混在一起用:PART 2
系列文
草頭黃小姐的 30 天 JavaScript 自學小本本30

尚未有邦友留言

立即登入留言