嚇壞了~今天下午整個大地震~地震完後我都想要直接下班了
以為地震潮已經過了~看來還是太天真(?)
我也會在假日多寫一些文章~(真的好需要先存一些文章RRRRR)
好辣~開始來說明一下布林值的部分
跟以往比較起來,我也才曉得布林值的轉型,不過如果剛開始學程式的人
就先不要看隱性跟顯性轉型囉(裡面有提及的部分,在後面都會詳細解說)
布林值Boolean
那布林值的部分呢~只有兩個可能的值:true(真) 和 false(否)。
假值包括:false、0、-0、""(空字符串)、null、undefined、NaN。其他的都是真值唷~
我們這裡會先談到布林值的運算,那"粗略"提要一下後面會細談的邏輯運算子(可惡!這樣是代表我排文章的順序有誤嗎~~~QQ)
布林運算,可以使用邏輯運算子合併一起進行運算,
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