iT邦幫忙

2021 iThome 鐵人賽

DAY 23
0
Modern Web

33歲轉職者的前端筆記系列 第 23

33歲轉職者的前端筆記-DAY 23 JavaScript 變數與型別

  • 分享至 

  • xImage
  •  
  • Nan => Not a Number,要判斷是不是NaN要用:isNaN();

https://ithelp.ithome.com.tw/upload/images/20210920/20120789io216ZyU2F.jpg

  • 注意自動轉型,可以先利用 typeof 判斷型別
  • 如果是數值運算時,建議先用 parseInt(n,10);Number(n);做轉換

範例如下:

let age = 33;

age = age + ""; // 33為字串


null 與 undefined

  • null = (此變數) 沒有值
  • undefined = (此變數) 還沒有給值

只有這些值在⾃動轉型時會變成 false,其他都是 true

  • Undefined
  • Null
  • 0, NaN
  • 空字串 “” 或 ‘’

字串轉布林:Boolean("")
數字轉字串:String(123)
數字轉布林:Boolean(123)
字串轉布林:Boolean("")

只要字串裡面有東西,Boolean 就會變true

反轉(!)

! true = false
!! true = true

== 與 === 的差異

  • 比較的是值的本身

範例:

https://ithelp.ithome.com.tw/upload/images/20210920/20120789HjYExewrK8.jpg

因為coin1 coin2 值比較的是值是不是都是10,如果用10塊可以買到的東西是一樣的,那就都是一樣的

https://ithelp.ithome.com.tw/upload/images/20210920/20120789gTlKxjJSPT.jpg

因為物件不能相互比較,是比對這兩個物件是不是同一個物件,比對出來是不同的物件所以是false,例如a的10塊錢跟b的10塊錢是互不相關的。
這兩個obj是不同的個體

https://ithelp.ithome.com.tw/upload/images/20210920/201207893QYscNQbym.jpg

因已宣告obj3 = obj 1, 所以是比兩個的值有沒有一樣,答案是一樣的為true。


上一篇
33歲轉職者的前端筆記-DAY 22 成績計算機練習筆記
下一篇
33歲轉職者的前端筆記-DAY 24 jQuery DOM 節點
系列文
33歲轉職者的前端筆記30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言