0%

JS 核心觀念筆記 - 陳述式與表達式

core

陳述式 Statement

JS 的語句類型,用於命令執行指定的一系列操作,最大的特徵則是不會回傳結果。

舉例:

  • block
  • 變數宣告 var, let, const
  • if…else 判斷
  • 函式
  • for 迴圈

簡單來說就單純陳述一個過程或是動作,但不會取得其值。

block

就是大括號 { } 的區塊,可分成以下 block,

一般陳述式,這樣寫是正確的,需要搭配函式使用。

1
2
3
{
var name = "提姆";
}

物件實字,一種 JS 存取物件的方式。

1
2
3
{
name:'提姆',
}

所以可以給予一個變數來儲存這個物件實字,就變成一般常見的物件。

1
2
3
let obj = {
name: "提姆",
};

變數宣告

單純宣告變數,但不給予其值。

1
var name; //undefinded

if…else

給予判斷。

1
2
3
if(1===1){
...
}

函式

建立函式,這只有建立,不會執行。另外函式又分成兩種,具名函式與匿名函式。下方這個函式為具名函式。

具名函式(又稱: 函式陳述式)

1
2
3
function funName(){
...
}

匿名函式 (函式表達式)

先宣告一個變數,其後方函式賦於其值到前面的變數。

1
2
3
var funName = function (){
...
}

這兩種的提升 hoisting 也不同。

表達式 Expression

又稱為表示式或運算式,經常透過一些符號結合上下語句,去運算及回傳結果,又分成兩種類型:

MDN 解釋

  1. 運算式是任何一段可以取得一個值的程式碼。例: x = 7
  2. 任何合乎語法的運算式都能取得一個值,概念上,有兩種不同型態的運算式:有副作用的 (例如: 將一個值指定給一個變數) 以及只為了取得值而解析的運算式。例: 3 + 4

JavaScript 運算式有下列種類:

  • 算術: 解析出數字, 例如 3.14159. (通常使用 算術運算子.)
  • 字串: 解析出字串, 例如 “Fred” or “234”。 (通常使用 字串運算子.)
  • 邏輯: 解析出 True 或 False (通常與 邏輯運算子 相關。)
  • 主流運算式: JavaScript 基本的關鍵字及運算式。
  • 左側運算式: 左側是指定值的對象。

參考資料