iT邦幫忙

2022 iThome 鐵人賽

DAY 6
0
自我挑戰組

菜鳥的前端學習筆記系列 第 6

DAY6 - 運算子

  • 分享至 

  • xImage
  •  

前言

今天要來認識運算子,了解一下怎們運用JS語法來執行各種類型的運算。


運算子怎麼用?

當我們需要測試或定義變數之間的運算或關係時,會運用運算子來組成類似數學運算公式的方式來執行,大致上可以分為以下幾種:

  1. 算數運算子 - 數學運算符號

    let x = 2
    let y = 3
    
    console.log(x + y)  // 5
    console.log(x - y)  // -1
    console.log(x * y)  // 6
    console.log(x / y)  // 0.666666....
    console.log(x % y)  // 2  x / y的餘數
    console.log(x ** y) // 8  x的y次方
    

    這邊額外拉出來說明比較特別的 ++--,在JS中表達的意思是遞增及遞減,放置於變數前或後都是表達將變數加或減1,然而隨著放置位置的不同也會產生些微不同的效果

    let x = 5
    console.log(x) // 5
    console.log(x++) // 5
    console.log(x) // 6
    console.log(++x) // 7
    

    從上面的例子可以知道,當 ++ 放在x後面輸出時,會先回傳x值再進行後面運算,而 ++ 放在x前面輸出時,則會先進行運算再回傳x值,同理 x----x 也是一樣的狀況,所以在使用上需要特別注意到這個小細節。

  2. 賦值運算子 - 賦值搭配算術運算

    let x = 2
    let y = 3
    
    console.log(x += y)  // x = x + y = 5
    console.log(x -= y)  // x = x - y = 2
    console.log(x *= y)  // x = x * y = 6
    console.log(x /= y)  // x = x / y = 0.6666...
    console.log(x %= y)  // x = x % y = 2
    
  3. 比較運算子 - 針對前後值進行比較(會得到布林值)

    let x = 2
    let y = 3
    
    console.log(x === y)  // false
    console.log(x !== y)  // true
    console.log(x > y)  // false
    console.log(x >= y)  // false
    console.log(x < y)  // true
    console.log(x <= y)  // true
    

    需要特別注意,比較兩值相等或不相等時,必須使用嚴格的等於及不等於( ===!== ),假如使用較為寬鬆的等於及不等於( ==!= ) JS不會特別判斷兩邊資料型別是否不同,進而產生許多錯誤或失控的狀況。

  4. 邏輯運算子 - 判斷邏輯上的”且”、”或”及”反”運算

    let x = 2
    let y = 3
    
    console.log((x < y) && (x !== y))  // true  必須兩邊都成立才會回傳true
    console.log((x > y) || (x !== y))  // true  只要有一邊成立便會回傳true
    console.log(!(x < y))  // true  回傳x < y (false)的相反結果
    

關於括號()

JS的 () 和數學運算一樣具備優先序考量,當某一個區塊的程式碼需要優先執行時,便可以用 () 將之包裹起來,以告知程式這個部分的優先序較高,必須先進行判斷及執行。


上一篇
DAY5 - 資料型別
下一篇
DAY7 - 中秋節插播
系列文
菜鳥的前端學習筆記30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言