# 你不了解我表達的陳述 ### *何謂表達式(Expression)與陳述式(Statement)?* ![](https://i.imgur.com/tEdhb7G.png =60%x) >javascript 之中的每段由編譯器所讀取的命令就是陳述式, 陳述式主要不會回傳一個結果,是以執行動作的行為本身為主, 表達式則是以回傳結果為主的一個命令,又或是可以稱為運算式, javascript 在運算後會獲得一個回傳結果的命令就可以稱為表達式。 ```javascript= // 以為if 為例 if (){ } // 這個命令並不會回傳一個值,是作為動作行爲的即為陳述式 // 舉凡動作類型的,關鍵詞句均為陳述式的範圍 block { } break continue if...else switch throw try..catch // 宣告類的也屬於陳述式 var let const return class // 迴圈類的也是陳述式 do...while for for...in for...of while // 輸出與引入類別也是陳述式 debugger export import ``` ```javascript= // 表達式 (3 + 2) // 5 // 這個計算出結果 5 的行為則是表達式 a = 2 // 賦值運算子也算是表達式 = “回傳” 了右方的結果 //舉凡會傳出一個值的關鍵詞句,均為表達式的範圍 this function class [] {} /ab+c/i () //陣列、物件初始化與正規表達式與分組的運算子 //運算子的類型均屬於表達式的範疇 ``` ## 寫在結尾 簡單來說輸入的那串程式執行後能直接回傳一個值,那麼它就是個表達式, 大體來說陳述式即執行動作完成特定任務。 至於存在於兩者型態的東西 `function` `{}` 根據使用時機展現不同的形式就是另外的故事了 ### 參考資料 [W3school - JavaScript Statements](https://www.w3schools.com/js/js_statements.asp) [MDN - 運算式與運算子](https://developer.mozilla.org/zh-TW/docs/Web/JavaScript/Reference/Operators) [MDN - 陳述式與宣告](https://developer.mozilla.org/zh-TW/docs/Web/JavaScript/Reference/Statements) ###### tags: `Javascript` `JS 直播班 - 2021 秋季班` `六角學院`