※ JavaScript的五種運算子:
我們希望操控這些值,來達成我們想要的結果。
運算式由運算元和運算子組成。運算元是指我們要拿去做運算的東西是什麼?例如:5和4。運算子是他要做什麼樣子的運算?例如:"+"。- 算術運算子:"+加"、"-減"、"*乘"、"/除"、"%(mod餘數概念)"。
- 字串運算子:"+加"。例如:蕭 + 敬騰=蕭 敬騰,兩個字串可以用+加的概念把它結合再一起。
- 比較運算子:陳述的是邏輯關係。"===",嚴格的等於(因為JavaScript 不會檢查資料型別,請一律使用這個符號)、">="大於等於、"<="、"!=="嚴格的不等於(因為JavaScript 不會檢查資料型別,請一律使用這個符號)。
- 邏輯運算子:"&&"「而且」就是條件要前後成立,才算成立、"||"「或者」就是條件要前後有一個成立,就算成立、"!"「非」。
- 賦值運算子:"="、搭配算數運算的 +=、-=、*=。
※ JavaScript的typeof運算符:
typeof運算符,用來檢查資料的型別。
方法一:
方法二:
※ 型別轉換:
型別轉換是 JavaScript 裡著名的地雷。把兩種不同的資料型別放在一起,比如以下的範例,變數 myAge 為數字,變數 yourAge 為字串,在 console 中印出 myAge+yourAge 時,會出現這個結果:回傳值是 2223!
JavaScript 不會主動防止這種不小心把不同的資料型別組合在一起,所以在實作中要自行注意。所以可以使用 typeof 語法,來檢查資料的型別。
為了防止型別強制轉換錯誤情況的發生,重點有二:
- 永遠使用三個等號 ===,因為此運算子會進一步比較資料型別是否相等。
- 在運算前透過 if/else 等程序自行檢查型別,不要等 JavaScript 回報錯誤。
例如:
if (typeof a === typeof b) {
console.log(a + b)
} else {
console.log('something wrong!')
}
※ JavaScript 的 == 和 != 會「先將兩個值轉換成相同的資料型別」,請記得永遠使用 === 和 !==。