什麼是布林值(Boolean)
布林值是電腦科學裡辨別 true
或 false
的資料型別,以發明布林代數的數學家喬治.布爾來命名。數字型別可以從1到1億到無限大,字串型別只要是文字段落都可以算字串,但布林值就只有兩個值:true
跟 false
true
:代表是、真、正確的意思false
:代表否、假、不正確的意思let goSleep = true; // 宣告一個變數為 true
console.log(goSleep); // true
console.log(typeof goSleep); // boolean 型別為布林值
為什麼會需要布林值呢?
小明是否為會員? // true 是會員
我的報告交了嗎? // false 還沒交
在判斷對錯的時候,雖然我們人類看的時候可能可以馬上知道這段敘述是對的還是錯的,但是電腦不知道,你要告訴電腦,我們需要以布林值讓電腦去做判斷,以電腦的邏輯才會知道這段敘述是正確或是不正確的。
單純的數學比較也可以看到電腦判斷正確與否後給出的布林值:
console.log(5>3); // true
console.log(1>3); // false
布林值後面將會被大量地運用在各種判斷。
宣告一個變數後,如果沒有賦予它任何值,它就會是 undefined
尚未被賦予值的狀態:
let a; //宣告一個變數 a
console.log(a); // undefined 尚未被賦予值
console.log(typeof a); // 型別也是 undefined
此時變數是存在的,只是還沒有賦予值給他,所以會回傳 undefined
。
相對地,如果是呼叫一個不存在的變數就會發生錯誤。
當資料非常大筆,如後面會提到的陣列跟物件,它們是用組合的方式將大量的資料放在一個變數上,但資料筆數很多時,所佔的記憶體就會不小,可能會影響到瀏覽器的讀取速度。所以當我們用不到這筆資料時,我們就可以使用 null
去把這個變數裡的資料清空,釋放記憶體空間。
let b = null;
console.log(b); // null b 有被賦予值,是告知為空值
本來有資料,因應某些情況下,需要把值清空
let lunchData = 1234;
lunchData = null; // 原本是有值的,但現在把它清掉,給予空值 null
undefined 有變數但沒有賦予值
null 曾經有被宣告過,有被賦予值,只是在某些情況下值被清空,故顯示 null 表示目前是空值
線上課程
MDN