iT邦幫忙

2024 iThome 鐵人賽

DAY 3
0
自我挑戰組

JS漫遊記系列 第 3

JS漫遊記-03-布林值Boolean

  • 分享至 

  • xImage
  •  

https://ithelp.ithome.com.tw/upload/images/20240815/20166952teXMYnyKpJ.jpg

嚇壞了~今天下午整個大地震~地震完後我都想要直接下班了
以為地震潮已經過了~看來還是太天真(?)
我也會在假日多寫一些文章~(真的好需要先存一些文章RRRRR)

好辣~開始來說明一下布林值的部分
跟以往比較起來,我也才曉得布林值的轉型,不過如果剛開始學程式的人
就先不要看隱性跟顯性轉型囉(裡面有提及的部分,在後面都會詳細解說)


布林值Boolean
那布林值的部分呢~只有兩個可能的值:true(真) 和 false(否)。
假值包括:false、0、-0、""(空字符串)、null、undefined、NaN。其他的都是真值唷~

我們這裡會先談到布林值的運算,那"粗略"提要一下後面會細談的邏輯運算子(可惡!這樣是代表我排文章的順序有誤嗎~~~QQ)

布林運算,可以使用邏輯運算子合併一起進行運算,

  1. && : AND
  2. || : OR
  3. ! : NOT
let a = true;
let b = false;

console.log(a && b); // false 
console.log(a || b); // true
console.log(!a);     // false

隱性轉型跟顯性轉型
隱性轉型:JS自動進行轉換,比較在條件語句邏輯運算中發生。
顯性轉型:明確使用函數或方法進行的轉換,如 Boolean()
以下就讓我們來詳細看看隱性跟顯性的相關舉例好了~


隱性轉型(Implicit Conversion)的舉例
-在這個例子中,0 被隱式轉換為 false。

let value = 0; //value設定為0

if (value) {  
    console.log("這是 true");
} else {
    console.log("這是 false"); // 輸出 "這是 false"
}

那if(value)檢查了value的值,0就是假值(false)之一,會印出"這是false" 所以不會執行if的程式碼,會直接跳到else,那如果是其他非0的數字,就會輸出"這是true"

那我們從上面的舉例中,就可以去思考一下,如果我今天設立value的數字不是0呢?
讓我們來try看看吧~

let value = 2;

if (value) {
    console.log("這是 true"); // 會輸出 "這是 true"
} else {
    console.log("這是 false");
}
2就會被視為true,也會輸出"這是true"

那如果今天設立值是負數呢?究竟是命運的糾纏還是甚麼呢
讓 我 們 看 下 去 XD

let value = -1;

if (value) {
    console.log("這是 true"); // 會輸出 "這是 true"
} else {
    console.log("這是 false");
}
所以呢-1(負數)也是非0的部分,同樣跟上面的舉例相同,會輸出"這是true"

這邊的小小結~
js中除了 0、null、undefined、NaN 和空字符串 "" 被視為假值(false),
其他所有的數字(負數也是喔)都會被當作真值(true)。
所以把 value 設為任何不是零的數字,程式碼將會輸出 "這是 true"。


顯性轉型(Explicit Conversion)舉例

let num = 5; //
let likeCat = Boolean(num);
console.log(likeCat); // 輸出 true

將數字5轉換為布林值true,並將其輸出,而5是非0 的數字,轉換後為true

那也把num設為0看看囉~

let num = 0; // 變數 num 設為 0
let likeCat = Boolean(num); //  num 用Boolean()轉換為布林值
console.log(likeCat); // 輸出 likeCat 的值 //輸出了false

let isTrue = Boolean(num);:
這行程式碼使用 Boolean() 函數將 num 轉換為布林值。
因為 0 在布林中被視為 false,所以 Boolean(0) 的結果是 false。

我是超級新手,若有任何建議或是錯誤的部分,歡迎底下留言唷~thanks:)
我們下篇文章見掰掰~

對自己多用點心,日益努力,而後風生水起。盡情玩耍,盡情學習,盡情熱愛,盡情討厭,在需要的時候釋放善意,在必要的時候展現強硬,把這不得不過完的一生,變成值得慶賀的一生。


參考來源
https://developer.mozilla.org/zh-TW/docs/Web/JavaScript/Reference/Global_Objects/Boolean


上一篇
JS漫遊記-02-基本型別
下一篇
JS漫遊記-04-特殊值
系列文
JS漫遊記30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言