購買車輛

購買車輛

學習練習

簡介

比較

在 JavaScript 中,你可以使用下列的關係運算子和相等運算子來比較數字。

比較 運算子
大於 a > b
大於或等於 a >= b
小於 a < b
小於或等於 a <= b
(嚴格)等於 a === b
不等於(嚴格) a !== b

比較的結果永遠是布林值:true或false。

1 < 3;
// => true

2 !== 2;
// => false

1 === 1.0;
// => true
// All numbers are floating-points, so this is different syntax for
// the exact same value.

在 JavaScript 中,上面的比較運算子也可以用來比較字串。 這種情況下,會採用字典(詞典)順序。 你可以在這裡找到列出所有字元確切順序的清單。

'Apple' > 'Pear';
// => false

'a' < 'above';
// => true

'a' === 'A';
// => false

條件判斷

在 JavaScript 中,常見的條件執行邏輯方式是使用if敘述。 它由if關鍵字、以括號包住的條件,以及以大括號包住的程式區塊組成。 只有當條件的評估結果為true時,程式區塊才會執行。

if (condition) {
  // code that is executed if "condition" is true
}

它可以單獨使用,也可以和else關鍵字搭配使用。

if (condition) {
  // code that is executed if "condition" is true
} else {
  // code that is executed otherwise
}

若要在else敘述中巢狀加入另一個條件,可以使用else if。

if (condition1) {
  // code that is executed if "condition1" is true
} else if (condition2) {
  // code that is executed if "condition2" is true
  // but "condition1" was false
} else {
  // code that is executed otherwise
}

說明

在這個練習中,你會寫一些程式碼,幫助你準備購買車輛。

你有三個任務:判斷自己是否需要取得駕照、幫助自己在兩輛車之間做選擇,以及估算一輛中古車的合理價格。

1. 判斷自己是否需要駕照

有些種類的車輛需要駕照才能駕駛。 假設只有'car'和'truck'這兩種類型需要駕照,其他種類都可以在沒有駕照的情況下駕駛。

實作needsLicense(kind)函式,它接收車輛的種類,並回傳一個布林值,表示這個種類的車輛是否需要駕照。

needsLicense('car');
// => true

needsLicense('bike');
// => false

2. 在兩輛可能購買的車輛之間做選擇

你評估了手邊可選的車輛。 你成功把範圍縮小到兩個選項,但你需要有人幫你做最後的決定。 為此,請實作chooseVehicle(option1, option2)函式,它接收兩輛車作為引數,並回傳一個決定,其中包含在字典順序中排在前面的那個選項。

chooseVehicle('Wuling Hongguang', 'Toyota Corolla');
// =>  'Toyota Corolla is clearly the better choice.'

chooseVehicle('Volkswagen Beetle', 'Volkswagen Golf');
// =>  'Volkswagen Beetle is clearly the better choice.'

3. 估算中古車的價格

既然你已經做出決定,你會想確保自己在經銷商那裡拿到合理的價格。 由於你想買的是中古車,價格取決於車齡。 粗略估算的話,假設車齡不到 3 年,價格是全新時原價的 80%。 如果車齡超過 10 年,價格是 50%。 如果車齡至少 3 年但不超過 10 年,價格是原價的 70%。

實作calculateResellPrice(originalPrice, age)函式,使用if、else if和else套用這套邏輯(如果你想練習,還有其他做法)。 它接收原價和車齡作為引數,並回傳經銷商估算的價格。

calculateResellPrice(1000, 1);
// => 800

calculateResellPrice(1000, 5);
// => 700

calculateResellPrice(1000, 15);
// => 500
透過 GitHub 編輯 連結會在新視窗或分頁中開啟
JavaScript Exercism

準備好開始 購買車輛 了嗎?

註冊 Exercism,透過 37 個概念159 個練習 和真人引導來學習並精通 JavaScript,全部免費。