iT邦幫忙

0

Javascript 進階 3-1 陳述式與表達式

https://ithelp.ithome.com.tw/upload/images/20191212/20121770OVB60wIy8x.jpg

今天要介紹的是 陳述式與表達式

兩者最大的不同就是在於 陳述式 並不會 回傳一個結果,而是執行特定的程式碼,例如使用 if/else、switch、try/catch,變數宣告 var、let、contst。

而表達式會進行運算之後,回傳一個結果

其中比較需要注意的就是,表達式只要是能夠取到值的程式碼,就可以稱做表達式。

// statement 陳述式
var a = 123;

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

另外還有細分 函式陳述式 以及 函式表達式

兩者的差別之前的章節有提到過,就是hoisting的順序,在創造階段跟執行階段賦值的差別。

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

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

Block 區塊 {}

{
    var ming = '小明';
}

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

並且,使用ES6的變數宣告方式,let/const就只能在Block的範圍中被取用。

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

{
    ming: '小明'
}

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

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

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

以上就是今天的分享~汪汪


尚未有邦友留言

立即登入留言