認識 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 的 == 和 != 會「先將兩個值轉換成相同的資料型別」,請記得永遠使用 === 和 !==。

avatar-img
奧莉薇走在成為後端工程師之路上
17會員
137內容數
全端網頁開發專業知識分享
留言
avatar-img
留言分享你的想法!
※ 場景: 即時聊天應用: 設計一個支持多房間功能的即時聊天平台,像 WhatsApp、LINE或Facebook Messenger,提供文字、語音、視訊聊天功能,方便管理群組聊天。 功能亮點:加入特別功能,例如可加入多房間功能、使用者名單、表情符號支持、文件分享或訊息已讀未讀狀態。 展示
※ 先建立基本的express後端服務: 1.建立新資料夾:Socket mkdir socket 2.進入資料夾:Socket cd ​bsocket 3. 安裝 Experss 到專案中 npm init -y //初始化專案,建立 package.json 檔 npm insta
※ 什麼是 Socket.io:一個基於傳統 WebSocket API 之上的框架。 ※ Socket.io常用功能: Custom Events:在 Socket.io 中,開發者可以創建自己的事件來處理特定的功能或需求。 Rooms:分組的功能。每個連接的用戶(或稱為 socket)可
※ 場景: 即時聊天應用: 設計一個支持多房間功能的即時聊天平台,像 WhatsApp、LINE或Facebook Messenger,提供文字、語音、視訊聊天功能,方便管理群組聊天。 功能亮點:加入特別功能,例如可加入多房間功能、使用者名單、表情符號支持、文件分享或訊息已讀未讀狀態。 展示
※ 先建立基本的express後端服務: 1.建立新資料夾:Socket mkdir socket 2.進入資料夾:Socket cd ​bsocket 3. 安裝 Experss 到專案中 npm init -y //初始化專案,建立 package.json 檔 npm insta
※ 什麼是 Socket.io:一個基於傳統 WebSocket API 之上的框架。 ※ Socket.io常用功能: Custom Events:在 Socket.io 中,開發者可以創建自己的事件來處理特定的功能或需求。 Rooms:分組的功能。每個連接的用戶(或稱為 socket)可