Skip to content

Commit ffa4c2d

Browse files
authored
Add README with JavaScript concepts and projects
This README file outlines the core concepts and practical applications of JavaScript (ES6+) for learning React, including project descriptions and a suggested learning path.
1 parent 843f336 commit ffa4c2d

File tree

1 file changed

+72
-0
lines changed

1 file changed

+72
-0
lines changed

README.md

Lines changed: 72 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,72 @@
1+
# JavaScript 核心技術與實作應用彙整
2+
3+
本專案集結了 JavaScript (ES6+) 的核心概念筆記、現代語法特性分析,以及四個階段性實戰練習。內容旨在鞏固 JavaScript 基礎,並銜接現代前端框架(如 React)的開發需求。
4+
5+
## 📂 目錄結構
6+
7+
* **AI 生成基礎筆記**:涵蓋 React 開發必備的 JS 核心知識。
8+
* **教學影片精華筆記**:系統化整理 6 小時課程之技術重點。
9+
* **實戰小專案**:透過 DOM 操作、非同步處理與邏輯封裝建立實作經驗。
10+
11+
---
12+
13+
## 🚀 學習 React 前的 JS 必修重點
14+
15+
在深入前端框架前,本專案重點整理了以下基石觀念:
16+
17+
* **變數與作用域**:理解 `let``const` 的區塊作用域,以及 `var` 的提升(Hoisting)行為。
18+
* **核心陣列操作**:熟練 `map()``filter()``reduce()``find()` 等不改變原始陣列的資料處理方法。
19+
* **非同步程式設計**:掌握 `Promise` 狀態與 `async / await` 現代語法,並運用 `Fetch API` 處理 JSON 資料。
20+
* **現代語法糖**:包含解構賦值(Destructuring)、展開運算子(Spread Operator `...`)、可選連鎖(Optional Chaining `?.`)與三元運算子。
21+
22+
---
23+
24+
## 🛠️ 實戰專案說明
25+
26+
本倉庫包含四個循序漸進的 Web 實作項目:
27+
28+
### 1. 黃綠紅選色器 (Color Picker)
29+
30+
* **重點技術**:DOM 元素抓取 (`querySelector`)、事件監聽 (`addEventListener`)、`forEach` 批次處理按鈕邏輯。
31+
* **目標**:熟悉「選取元素 -> 綁定事件 -> 修改樣式/內容」的標準流程。
32+
33+
<img width="2560" height="1440" alt="螢幕擷取畫面 2026-01-30 224311" src="https://github.com/user-attachments/assets/8222ed42-883a-4219-90a2-fc7261c9fc0e" />
34+
35+
### 2. JS 碼錶 (Stopwatch)
36+
37+
* **重點技術**`setInterval``clearInterval` 的時間控制、狀態變數管理、字串補零處理。
38+
* **目標**:理解資料模型(Model)與畫面顯示(View)分離的初步概念。
39+
40+
<img width="2560" height="1440" alt="螢幕擷取畫面 2026-01-30 224322" src="https://github.com/user-attachments/assets/864890e7-659e-4d29-b52f-5667f320b0df" />
41+
42+
### 3. 剪刀石頭布 (Rock Paper Scissors)
43+
44+
* **重點技術**`Math.random()` 應用、**查表法 (Lookup Table)** 邏輯封裝。
45+
* **目標**:捨棄冗長的 `if-else`,改用物件對照表處理複雜的勝負判斷。
46+
47+
<img width="2560" height="1440" alt="螢幕擷取畫面 2026-01-30 224334" src="https://github.com/user-attachments/assets/fa6dd91e-55df-45cd-a781-84c3c30610f2" />
48+
49+
### 4. 狗狗產生器 (Dog Generator)
50+
51+
* **重點技術**`fetch` 非同步資料串接、`try...catch` 錯誤保護機制、動態圖片渲染。
52+
* **目標**:模擬真實前端開發中與 API 連線並處理加載狀態(Loading/Error/Success)的場景。
53+
*
54+
<img width="2560" height="1440" alt="螢幕擷取畫面 2026-01-30 224418" src="https://github.com/user-attachments/assets/b04a5787-6202-403c-b7cf-ac0cea5d8f3c" />
55+
---
56+
57+
## 💡 進階補充
58+
59+
* **查表法應用**:利用物件或陣列取代多重 `switch``if-else`,提升程式碼可讀性與擴充性。
60+
* **箭頭函式與 IIFE**:解析匿名函式立即執行(Immediately Invoked Function Expression)的特性及其在閉包與環境隔離中的作用。
61+
* **`this` 綁定規則**:對比傳統函式的動態綁定與箭頭函式的詞法作用域(Lexical `this`)綁定差異。
62+
63+
---
64+
65+
## 📈 建議學習路徑
66+
67+
本專案建議遵循以下順序進行能力提升:
68+
69+
1. **熟練 JavaScript (ES6+)**:掌握現代語法基礎。
70+
2. **學習 React**:建立前端介面開發能力。
71+
3. **學習 Node.js & Express**:掌握後端 API 開發。
72+
4. **學習 MongoDB**:掌握資料模型設計與資料庫串接。

0 commit comments

Comments
 (0)