[JS] 陳述式(Statement)與表達式(Expression)
陳述式(Statement)與表達式(Expression)不是特定的使用方法或技巧,而是語法觀念,所有的程式碼都可以分成這兩類型的語句。
💎 各種譯名:
- Statement:陳述式。
- Expression:表示式、運算式、表達式。
💎 兩者的差別:
陳述式:不會回傳結果
。表達式:會回傳結果
。
💎 陳述式的種類
- 流程控制
- { } 區塊
- if..else
- switch
- try..catch
- 宣告
- var
- let
- const
- 函式
- function
- return
- 疊代
- for
- while
- 其他
- export
- import
詳細可以參考 MDN:
Statements and declarations
💎 表達式的種類
- 值:單純一個數字、字串、布林、物件…等等。
- 變數
- 賦值(=)
- 運算子(+, -, /, ==, ===, != ……)
- 會回傳結果都是
💎 陳述式與表達式的混用
一段程式碼通常不會只使用其中一種方式撰寫,接著用以下範例來解說:
1 | let example = function () { |
這段程式碼中的
陳述式
:- let
- function
- if..else
- return
這段程式碼中的
表達式
:- 1
- =
- ==
這整段程式碼雖然結合了各種陳述式和表達式,最終是將函式賦予一個變數名稱,所以是一個
表達式
(賦值是表達式),又稱為函式表達式
,而一般宣告名稱的函式則稱為函式陳述式
。