iT邦幫忙

0

Javascript 進階 3-8 Truthy 與 Falsy

if (truthy) {
    `console.log('執行程式');`
} else {
    console.log('執行else');
}

在寫程式的時候很常使用到 if-else 判斷式來判斷要執行那些程式碼,如果內容被判斷是 truthy ,也就是 真值 的話,就會執行 console.log('執行程式');,如果是 falsy,也就是 假值 的話,就會執行 console.log('執行else');

但是 if-else 判斷式內容 不只是包含判斷式爾以喔!

可以點開這個連結查看,有哪些東西可以被判斷為truthy跟falsy

https://ithelp.ithome.com.tw/upload/images/20191216/20121770FZR0Ok58ih.jpg

我們可以看到不只是判斷結果回傳是true的判斷式,數字不為空的字串物件陣列都可以被判斷為truthy進而執行 console.log('執行程式'); 的區域程式碼。

另外,空字串、null 、undefined、數字0、false等,都被視為falsy,會執行 console.log('執行else'); 的區域程式碼。

if (5) {
    // 執行這裡
    `console.log('執行程式');`
} else {
    console.log('執行else');
}

if (0) {
    `console.log('執行程式');`
} else {
    // 執行這裡
    console.log('執行else');
}

特別注意!

如果今天用 包裹物件 的話,就會被視為物件,而物件就是truthy,所以只會執行小括號後面緊接的 block(block指的是{}) 裡面內容。

if (new Number(0)) {
    // 執行這裡
    `console.log('執行程式');`
} else {
    console.log('執行else');
}

以上就是有關於truthy以及falsy的說明,希望對各位有幫助~汪汪


圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言