認識 JavaScript (二)

閱讀時間約 2 分鐘

※ JavaScript的五種運算子:

我們希望操控這些值,來達成我們想要的結果。

raw-image

運算式由運算元和運算子組成。運算元是指我們要拿去做運算的東西是什麼例如:5和4。運算子是他要做什麼樣子的運算例如:"+"。

  • 算術運算子:"+加"、"-減"、"*乘"、"/除"、"%(mod餘數概念)"。
  • 字串運算子:"+加"。例如:蕭 + 敬騰=蕭 敬騰,兩個字串可以用+加的概念把它結合再一起。
  • 比較運算子:陳述的是邏輯關係。"===",嚴格的等於(因為JavaScript 不會檢查資料型別,請一律使用這個符號)、">="大於等於、"<="、"!=="嚴格的不等於(因為JavaScript 不會檢查資料型別,請一律使用這個符號)。
  • 邏輯運算子:"&&"「而且」就是條件要前後成立,才算成立、"||"「或者」就是條件要前後有一個成立,就算成立、"!"「非」。
  • 賦值運算子:"="、搭配算數運算的 +=、-=、*=。
raw-image


※ JavaScript的typeof運算符:

typeof運算符,用來檢查資料的型別。

方法一:

raw-image

方法二:

raw-image

※ 型別轉換:

型別轉換是 JavaScript 裡著名的地雷。把兩種不同的資料型別放在一起,比如以下的範例,變數 myAge 為數字,變數 yourAge 為字串,在 console 中印出 myAge+yourAge 時,會出現這個結果:回傳值是 2223!

raw-image

 JavaScript 不會主動防止這種不小心把不同的資料型別組合在一起,所以在實作中要自行注意。所以可以使用 typeof 語法,來檢查資料的型別。

為了防止型別強制轉換錯誤情況的發生,重點有二:

  • 永遠使用三個等號 ===,因為此運算子會進一步比較資料型別是否相等。
  • 在運算前透過 if/else 等程序自行檢查型別,不要等 JavaScript 回報錯誤。

例如:

// 要做 a 和 b 的運算,但不清楚 a 和 b 的值
if (typeof a === typeof b) {
console.log(a + b)
} else {
console.log('something wrong!')
}

※ JavaScript 的 == 和 != 會「先將兩個值轉換成相同的資料型別」,請記得永遠使用 === 和 !==。

    全端網頁開發專業知識分享
    留言0
    查看全部
    發表第一個留言支持創作者!
    ※ 後端面試考古題(二)
    閱讀時間約 1 分鐘
    ※ 後端面試考古題(三)
    閱讀時間約 1 分鐘
    ※ 後端面試考古題(四)
    閱讀時間約 1 分鐘
    ※ 後端面試考古題(五)
    閱讀時間約 1 分鐘
    ※ 認識 JavaScript (一)
    閱讀時間約 2 分鐘