整理這些技術筆記真的很花時間,如果你願意 關閉 Adblock 支持我,我會把這份感謝轉換成更多「踩坑轉避坑」的內容給你!ヽ(・∀・)ノ
[JS奇怪的世界]No.19 存在與布林值
存在與布林值
一般來講我們可以手動使用 Boolean、Number 等函數來做強制轉型的動作,但是課程也是強調不要這樣做(手動轉型),但是用來展示效果是可以的,舉例我們將 undefined 轉換成布林值 ↓
1 | |
會得到一個 false。
那 Null 呢?
1 | |
一樣會得到一個 false。
空字串呢?
1 | |
還是一樣會得到一個 false。
而這代表著這三個東西都是不存在沒有東西的意思,所以當我們若使用這特性去搭配判斷式就可以知道有無資料了,所以可以這樣寫 ↓
1 | |
接下來就比較有陷阱的,課程上也有特別講到 ↓
1 | |
這也是一個 false,課程也有講到一個範例 ↓
1 | |
這範例中課程有說 || 這個運算子比 === 優先性還低,所以會先做 === 號的判斷。
所以程式碼處理之後會變成這樣
1 | |
那 a 會被強制轉型變成布林值,而 0 代表著 false
1 | |
那這時候就可以這樣玩 false || true,這樣子會回傳什麼?true,因為在 || 這個運算子,只要有一個 true 就會回傳 true 的結果。
圖源
整理這些技術筆記真的很花時間,如果你願意 關閉 Adblock 支持我,我會把這份感謝轉換成更多「踩坑轉避坑」的內容給你!ヽ(・∀・)ノ