Equality Operators(嚴格等式VS鬆散等式) | Javascript

理解如何比較值是程式設計的基礎。我們探討了等值運算子 ===== 的微妙差異,用範例理解它們的內在細節差異。我們將解開鬆散和嚴格等值比較,當你在編寫更複雜的程式碼中的會有巨大幫助。

JavaScript 中,我們有兩個用於比較值的運算子:==(鬆散等值)和 ===(嚴格等值)。這篇文章詳細範例解釋了它們的區別,闡明了何時使用每個運算符。 == 在進行類型強制轉換後檢查相等性,這會讓不同類型最後視為相等,而’===’ 強制執行嚴格相等,確保值和類型都匹配。無論你是在檢查使用者輸入、處理條件還是比較變量,了解這些運算符對於編寫清晰、可靠且無錯誤的程式碼非常重要。

我們一般在開發時,我們要避免使用鬆散的比較,我們應該始終使用嚴謹的比較

  • === 嚴謹的比較(包含型別)
  • == 鬆散的比較(不包含型別)

See the Pen Equality Operators(嚴格等式VS鬆散等式)-Javascript by lenrich (@lenrich) on CodePen.

範例

'use strict';

const temperature = 25;
const temperatureStr = '25';

console.log(temperature === 25); // true
console.log(temperature === '25'); // false
console.log(temperatureStr == 25); // true
console.log(temperatureStr == '25'); // true

if (temperature > 30) {
  console.log('It\'s a hot day! Stay cool.');
} else if (temperature >= 20 && temperature <= 30) {
  console.log('The weather is pleasant.');
} else {
  console.log('It\'s a bit chilly. Grab a jacket.');
}
// The weather is pleasant.

const city = prompt('Which city do you live in?');

if (city === 'New York') {
  console.log('Welcome to the Big Apple!');
} else if (city === 'Paris') {
  console.log('Bonjour! Welcome to Paris.');
} else {
  console.log(`Greetings from ${city}!`);
}


const isRaining = confirm('Is it raining?');

if (isRaining) {
  console.log('Don\'t forget your umbrella!');
} else {
  console.log('Enjoy the weather!');
}