---
# System prepended metadata

title: 核心篇第二堂：表達式、陳述式
tags: [JS 直播班 - 2022 秋季班]

---

---
tags: JS 直播班 - 2022 秋季班
---

# 核心篇第二堂：表達式、陳述式

## 寫推薦就贈書活動

注意：參與活動規範：
- 目前本書尚未公開，禁止用任何方式傳遞非 2022 JS 秋季直播班的學員，如果未經授權進行散佈、公開會有法律上的問題。
- 本範例章節僅限於  2022 JS 秋季直播班學員觀看
- 範例章節離正式版還有許多會調整的部分，如果閱讀上有任何建議，也可私訊卡斯伯老師（目前也有另外安排專人進行審稿，進度尚未進入一校）

文件連結：https://chalk-freedom-ec6.notion.site/JS-b5528ecea1744bf8b7740282d083a069

## 本週主題 文法篇

為什麼要學 表達式 / 陳述式
1. 看得懂文件
![](https://i.imgur.com/csItSca.png)

2. 不屬於它的就不要亂塞
![](https://i.imgur.com/PMGQMVL.png)


4. 理解各種奇怪的陷阱題型（從本週開始，未來可能都會插入一兩題神秘的題型）
![](https://i.imgur.com/sNQCwjt.png)


```jsx
const person = {
  myName: '小明',
  fn() {
    return this.myName;
  }
}

console.log(person.fn());
console.log((person.fn = person.fn)());
console.log((person.fn || person.fn)());
```

### 關於陳述式、表達式

- 什麼是表達式（也會有翻譯上的差異）
- 什麼是陳述式（兩者比較）
    - 更好的說明是陳述語句
- 補充：函式陳述式以及函式表達式的差異
    - 函式陳述式
    - 函式表達式
    - 具名函式與匿名函式

|  | 具名 | 可以塞在很多地方 
| --- | --- | --- |
| 函式表達式 | 非必要 | 可以 |
| 函式陳述式 | 必要 | 不行 |

### 運算子

- 什麼是運算子
    - [https://developer.mozilla.org/zh-TW/docs/Web/JavaScript/Guide/Expressions_and_Operators](https://developer.mozilla.org/zh-TW/docs/Web/JavaScript/Guide/Expressions_and_Operators)
- 運算子的分類（一元、二元、三元）
- 先執行與後執行
- 所有的運算子，都是表達式
- 重點：**表達式可以運用的情境**

### 補充：相依性與優先性

https://developer.mozilla.org/zh-TW/docs/Web/JavaScript/Reference/Operators/Operator_Precedence

- 程式碼的執行順序
- 實戰中，避免的寫法