iT邦幫忙

2

Javascript 運算子、型別與文法 - 陳述式與表達式

陳述式與表達式的差異

https://ithelp.ithome.com.tw/upload/images/20210810/20140506fBNbIM56YS.png

  • 陳述式:不會回傳結果,而是執行特定的程式碼,如使用 if...elseswitchtry...catch,變數宣告 varletconst
  • 表達式:進行運算之後,回傳結果。只要是能夠取到值的程式碼就可以稱做表達式
// statement 陳述式
let a = 123;

// expression 表達式
console.log(a);

函式陳述式 以及 函式表達式

兩者的差別就是 hoisting 的順序,在 創造階段 跟 執行階段 賦值的差別。

// 函式陳述式
function fn () {
    ...
}

// 函式表達式
let a = function () {
    ...
}

Block 區塊 {}

這樣的結構,稱作為 Block,而在 Block 中,可以執行其他的 陳述式 或是 表達式。

//陳述式
{   
    let ming = '小明';
}

還有經常看到的結構,就是 物件實字

//陳述式
{   
    ming: '小明'
}

這樣的結構可以利用變數賦值,相反的 Block 的結構則不行。

// X
let a = {
    var b = '小明';
}

// O
let a = {
    ming: '小明'
}

參考文章


尚未有邦友留言

立即登入留言