# 何謂表達式(Expression)與陳述式(Statement)? JavaScript 有兩種語法分類: 陳述式(Statement) 又稱 語句 或 述句 表達式(Expression) 又稱 運算式 或 數學表達式 ## :star: 陳述式 JavaScript 應用程式由適當的陳述式組成。一個單一的陳述式可以跨用好幾行。 多個陳述式也可以藉由分號分隔來寫在同一行。 這不是一個關鍵字,而是一群關鍵字,由這些關鍵字使陳述式會產生一些動作,但是 **不會回傳值**。 > 讓瀏覽器知道要讓他做哪些動作,但是做完動作他會停在那裡等你給予下一個指令 ### JS中常見的陳述式 * if 判斷式 * while 迴圈 * for 迴圈 * switch 判斷式 * 直接的函式宣告 function * 變數宣告 var let const ```javascript= // 變數宣告 let a ; var b ; const c ; // while 迴圈 while (age == 21) { //while小括號是表達式 console.log("大學畢業") } // for 迴圈 for (let age = 5; age < 21; age++) { console.log("上學"); } // if判斷式 if(haveMoney == true){ //if小括號()中的值是表達式,判斷陳述式是否執行動作 console.log("財富自由") //{}中是陳述式 } else { console.log("努力賺錢") } // function 函式 function learn(){ console.log("學JS") } //以上都是陳述式,只有執行動作但是沒有回傳數值,因此很多都是跟表達式相互搭配 ``` ## :star: 表達式 表達式是一段 JS 直譯器能夠運算並產生數值的程式碼,通常會經過運算,簡單來說就是只要你輸入這段程式碼,可以形成一個值,且最終 **會回傳值的程式碼就算是表達式**。 >會回傳值結果給瀏覽器,讓他知道得到的數值或結果 ### 常見的表達式 * 純值 * 變數 * 運算子 * 執行函式 * 正規表達式 * 函式表達式 ```javascript= // 純值 666 //回傳666 123 //回傳123 // 變數 let a = 1; var b = 2 > 3; const c = "字符串"; // 運算子 1 > 2 //false 1 + 3 //4 3 - 1 //2 // function 執行函式 function learn(){ //陳述式執行動作 console.log("學JS") } learn(); //函式中呼叫的地方是表達式 ``` ## 總結 * 陳述式是為要做的動作做準備(為表達式做準備),不會回傳值 * 表達式會執行指定動作,並且回傳執行動作完的結果 ## 參考資料 https://ithelp.ithome.com.tw/articles/10218937 https://wcc723.github.io/development/2020/09/17/js-expression/ https://eyesofkids.gitbooks.io/javascript-start-from-es6/content/part3/controlflow.html https://developer.mozilla.org/zh-TW/docs/Web/JavaScript/Reference/Statements
{"metaMigratedAt":"2023-06-16T12:50:03.287Z","metaMigratedFrom":"Content","title":"何謂表達式(Expression)與陳述式(Statement)?","breaks":true,"contributors":"[{\"id\":\"663fae2d-2bb5-4437-90b7-96f11a50e120\",\"add\":1888,\"del\":292}]"}
Expand menu