iT邦幫忙

2021 iThome 鐵人賽

DAY 2
0
自我挑戰組

Be friend with JavaScript系列 第 2

Day 2 - Operators

  • 分享至 

  • xImage
  •  

在 JavaScript 裡 Operator(運算子)有很多種,這邊來介紹幾個常用的運算子,包括算術運算子、指派運算子、比較運算子、邏輯運算子...等,還有 2 個比較進階的用法 Nullish coalescing operator & Optional Chaining(不知道中文怎翻比較好抱歉 XD)/images/emoticon/emoticon01.gif

算數運算子

除了 +-*/ 之外,還有 %++--** 等。

  • % 取餘數
console.log(17 % 3); //2
console.log(15 % 2); //1
  • ++--
    ++ 表示加 1,-- 表示減 1。
let x = 0;
x++;
console.log(x); // 1
let x = 2;
x--;
console.log(x); // 1
  • ** 次方
console.log(7**4); // 為 7 的 4 次方
console.log(2**10); // 為 2 的 10 次方

指派運算子

  • = 將第二個運算元的值儲存在第一個運算元所指定的物件 (簡單指派)。
    例如:x = y,表示將 y 賦值給 x ,所以 x 的值會和 y 相等。
  • += 將第一個運算元的值加上第二個運算元的值;將結果儲存在第一個運算元所指定的物件,其他算術運算子方法亦同,Ex:-=*=/=
    例如:
    x = x + 1,可以簡化為 x += 1
    x = x - 1,可以簡化為 x -= 1
    x = x * 1,可以簡化為 x *= 1
    x = x / 1,可以簡化為 x /= 1
let x = 2;
x += 1;
console.log(x); // 3

比較運算子

  • ==(等於)
    用來比較等號左邊的值和等號右邊的"值"是否相等。
    例如:3 == "3",左邊的 3 是數字,右邊的 3 是字串,即使資料類型不一樣,但值一樣就是 true。
  • ===(嚴格等於)
    用來確認等號左邊和右邊的資料型態和值是否皆相等。
    例如:
    "3" === "3" 資料類型一樣,值也一樣,結果為 true。
    3 === "3" 值相同但資料類型不同,則結果為 false。
  • !=(不等於)
    僅確認值是否不同
    例如:4 != "4",雖然資料類型不同,但值相同,結果就為 false。
  • !==(嚴格不等於)
    確認值和資料類型是否不同,例如:
    4 !== "4",兩者資料類型不同,所以結果為 true。
  • ><>=<=
    沒什麼好解釋的,國小就學過了~

邏輯運算子

  • && (and,且)
    全部條件都成立才會回傳 true。
  • || (or,或)
    其一條件成立就回傳 true。
  • ! (not)
    一個運算元能被轉換成 True 時,就回傳 false,否則回傳 true。

Optional Chaining ?.

let lost = {owner:"Amy", wallet : { cash:10000 } };
// 確認錢包是否還在,假如錢包被偷走了肯定拿不回裡面的錢
console.log(lost.wallet && lost.wallet.cash); // 10000
// 改成 Optional Chaining 的寫法
console.log(lost.wallet ?. cash); // 10000

Nullish coalescing operator ??

?? 左邊的東西是 null 或是 undefined 時,就把 ?? 右邊的值給它。
例如:a ?? b,如果 a 不是 null 或 undefined,結果就是 a,反之,如果 a 是 null 或 undefined,結果就是 b。

let yourGirlfriend;
console.log(yourGirlFriend); // undefined
console.log(yourGirlfriend ?? "yourhands"); // yourhands

上面的例子只宣告了 yourGirlfriend 這個變數,但沒有給她值(undefined),因為你沒有女朋友,所以這時候結果會是 ?? 右邊的值 yourhands/images/emoticon/emoticon10.gif
是不是很簡單又好用呢~~~

參考資料:
MDN - Expressions and operators
Nullish coalescing operator


上一篇
Day 1 - JavaScript 的變數與基本資料型態
下一篇
Day 3 - 條件式
系列文
Be friend with JavaScript39
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言