if and Boolean 如果 與 布林值
在講 if 之前,我們先講講 布林值。
布林值可以說是電腦的根本,至於為什麼是電腦的根本這會牽扯到很遠的地方,以後有時間再來補充吧!
布林值只有兩個值,一個是 True 一個是 False,True 通常也會說是 1;而 False 則是 0。
「判斷式」會回傳所謂的布林值,什麼是判斷式?
1 == 0
這就是典型的判斷式,如果你使用
console.log(1 == 0);
就會發現終端機印出了 false。
- == 是判斷前後兩者是否等值。
- >= 是判斷前者是否大於等於後者。
- <= 是判斷前者是否小於等於後者。
- != 是判斷前者是否不等於後者。
- > 是判斷前者是否大於後者。
- < 是判斷前者是否小於後者。
今天的 if() 括號內吃的參數就需要是布林值 (Boolean)。
apples = 5;
if( apples == 4 ) console.log("apples are enough.");
else if( apples < 4 ) console.log("apples are not enough.");
else console.log("apples are too much.");
if() 函式一旦判定成功(給的布林值是 True),就會執行後面「一行」的程式碼,只會執行一行。 一旦失敗(給的布林值是 False),就會尋找最靠近此行的 else if,然後再次判斷,一直到最後的 else 或沒有東西為止。
也就是說,你可以
- 單獨只有一個 if
- 可以是 if、數個 else if、然後 else(沒有 else 也可)
- 也可以 if、else 而已
若要讓 if 判斷成功後連續執行很多行,則需要 {} 大括號(註1)的協助。
apples = 4;
if( apples == 4 ){
console.log("apples are enough.");
console.log("Everyone is happy about it.");
}
else if( apples < 4 ) console.log("apples are not enough.");
else console.log("apples are too much.");
(註2)
註解:
- {}大括號,成對符號,用來將多行程式碼一起送給特定的函式使用。如果大括號沒有成對出現,所造成的程式錯誤將僅僅只是結果看起來不太對勁,所以通常難以察覺。幸運的是,後來各家編輯器都為了解決這項問題而提供了尋找成對符號的功能,像是在 Sublime Text 的將游標點在成對符號的其中一個人身上,就會用底線告訴你目前它對到的另一個符號是誰,讓使用者確認對到的符號是否是他要的。
- 這邊可以看到在 {} 裡面多打了四個空白/ 一個 tab,這是為了讓城市變得更加美觀、更加有可讀性而做的,每多一層 {} 就要在多往後推四個空白/ 一個 tab,也有人傾向使用兩個空白,總之習慣就好。