六角學院 JS 核心筆記 (十)【運算子、型別與文法】- 陳述式與表達式

前言

Statement 陳述式:主要在陳述一些命令,做一些事情,但是不回傳結果。
Expression 表達式:主要透過符號做一些運算,然後回傳結果

Statement 陳述式的種類

  • 流程控制
    • Block 區塊陳述、break、continue、if…else、try…catch
  • 變數宣告
    • var、let、const
  • 函式陳述式與類別
    • function、class
  • 迴圈
  • 其他
    • debugger、export、import、label

函式陳述式

這種創造出來的函式,又稱為具名函式。

1
2
3
function square(x) {
return x * x;
}

Expression 表達式的種類

表達式,就是句子有做出「運算」這件事,會有相對應的運算子。

  • 賦值 (=)、包含函式表達式
  • 比較大小
  • 算數
  • 位元 Bitwise
  • 布林邏輯
  • 條件三元運算
    • var status = (age >= 18) ? '成人' : '小孩';
  • 一元運算
    • delete、typeof
  • 關係運算
    • in、instanceof
  • 其他
    • this、new、super 等

賦值運算子

a = 5 是一個表達式,回傳 5。

1
2
let a = 5;
// (a = 5) 是一個表達式,回傳 5

函式表達式

這種創造出來的函式,又稱為匿名函式。

1
2
3
var square = function (x) {
return x * x;
}

補充說明

函式陳述式 (Statement) 比函式表達式 (Expression)、非函式宣告有更高的 Hoisting 優先權。忘記的人可以去看六角學院 JS 核心筆記 (六)【執行環境與作用域】- 提升 (Hoisting)

參考資料:
MDN - 陳述式與宣告
MDN - 運算式與運算子
六角學院:JavaScript 核心篇 - 邁向達人之路
JS 原力覺醒 Day07 - 陳述式 表達式