iT邦幫忙

2021 iThome 鐵人賽

DAY 3
0
Modern Web

我的JavaScript日常系列 第 3

JavaScript Day 3. 變數:布林、undefined、null

  • 分享至 

  • xImage
  •  

開始學習 JavaScript 之後遇到的變數五花八門,不理解用法或是不懂的回傳的型態,就很容易會卡的自己不要不要的,因此今天就好好的深入研究變數。

布林值 (Boolean)

簡單來說就是 true 和 false,這是它們回傳的型態,是由電腦來決定這個跑完的結果。

語意上來說就是,如果這件事是「真的」,就開始做某件事;如果這件事是「假的」,我們就做另外一件事,或者什麼都不做。

譬如:

1.小美在氣溫 15 度以下時一定會穿上她心愛的棉外套
2.今天氣溫是 14 度

if(true) {
    console.log("小美穿著外套");
    console.log("她準備出門了");
}else{
    console.log("小美因為太熱了,所以不穿外套了");
}

if 的用法也可以伴隨布林值,像我這裡大部分的 if 練習都是以布林值的形式回傳,提供一個例子:

他不確定錢包剩下多少錢
true 小明想要去外面吃飯,他很想吃牛肉麵,價格110
false 於是他打開錢包前決定,錢不夠就回家吃飯

let wellet = 90;

if (wellet>=110) {
    console.log("去吃牛肉麵");
}else {
    console.log("回家");
}

undefined

undefined 和 null 的感覺很相似,但其實又不太一樣。undefined 的狀態比較像是,當沒有被賦予任何值的時候,該變數的預設值即為 undefined,又或者可以說是未定義的意思。

undefined 的特點:

  1. undefined 在經過 typeof undefined 的時候會回傳 undefined,所以它的型別就是 undefined。
  2. 如果變數沒有提供值,那麼它的預設值就是 undefined。
  3. 要取用一個物件屬性或是陣列元素的時候,若這個屬性或是元素不存在,會回傳 undefined。
  4. 如果一個函數需要輸入參數,但使用函數時沒有回傳參數的話,此時也會回傳 undefined。

null

上面說到 undefined 和 null 的感覺很相似,但其實 null 是有值的,它代表的意義是空值,是讓開發者來宣告變數為空值。

那麼到底什麼時候我們會需要去宣告一個空值呢?有可能的狀態是,本來這個地方是有其他值的,但若我們需要將他清空的時候,就可以給予它一個空值。

範例:

let c = 1234;
c = null;
console.log(c); // 此時 c 的內容會被清空

null 特點:

  1. 在經過 typeof null ,會回傳 object 型態。
  2. DOM元素操作時,如果要獲取的DOM元素不存在,會回傳 null。
  3. null 代表的意義是空值,是讓開發者來宣告變數為空值的。

另外補充,undefined 和 null 相似的地方:

  1. 兩者皆沒有屬性和方法,也不能對它們額外增加屬性及方法。
  2. 皆為 Falsy Value (虛值)。
  3. 皆為原始型別。

上一篇
JavaScript Day 2. 關於,運算子們
下一篇
JavaScript Day 4. ParseInt / ToString
系列文
我的JavaScript日常31
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言