Skip to content

Commit

Permalink
docs: 38.7 ~ 38.9 ์ •๋ฆฌ
Browse files Browse the repository at this point in the history
  • Loading branch information
publdaze committed Jan 12, 2024
1 parent 96aa95a commit 07c0207
Showing 1 changed file with 34 additions and 0 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -64,3 +64,37 @@
- ๊ตฌ๊ธ€ ํฌ๋กฌ, Node.js์˜ V8, ํŒŒ์ด์–ดํญ์Šค์˜ SpiderMonkey, ์‚ฌํŒŒ๋ฆฌ์˜ JavaScriptCore ๋“ฑ ๋‹ค์–‘ํ•œ ์ข…๋ฅ˜๊ฐ€ ์žˆ๋‹ค.
- ๋ชจ๋“  ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ ์—”์ง„์€ ECMAScript ์‚ฌ์–‘์„ ์ค€์ˆ˜ํ•œ๋‹ค.
- HTML -> DOM, CSS -> CSSOM, **JavaScript -> AST(์ถ”์ƒ์  ๊ตฌ๋ฌธํŠธ๋ฆฌ)**

### 38.7 ๋ฆฌํ”Œ๋กœ์šฐ์™€ ๋ฆฌํŽ˜์ธํŠธ

- ๋ฆฌํ”Œ๋กœ์šฐ : ๋ ˆ์ด์•„์›ƒ ๊ณ„์‚ฐ์„ ๋‹ค์‹œ ํ•˜๋Š” ๊ฒƒ
- ๋ฆฌํŽ˜์ธํŠธ : ์žฌ๊ฒฐํ•ฉ๋œ ๋ Œ๋” ํŠธ๋ฆฌ๋ฅผ ๊ธฐ๋ฐ˜์œผ๋กœ ๋‹ค์‹œ ํŽ˜์ธํŠธ ํ•˜๋Š” ๊ฒƒ
- ๋ ˆ์ด์•„์›ƒ์— ์˜ํ–ฅ์ด ์—†๋Š” ๋ณ€๊ฒฝ์€ ๋ฆฌํ”Œ๋กœ์šฐ ์—†์ด ๋ฆฌํŽ˜์ธํŠธ๋งŒ ์‹คํ–‰๋œ๋‹ค.

### 38.8 ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ ํŒŒ์‹ฑ์— ์˜ํ•œ HTML ํŒŒ์‹ฑ ์ค‘๋‹จ

- ๋ธŒ๋ผ์šฐ์ €๋Š” ๋™๊ธฐ์ ์œผ๋กœ HTML, CSS, ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ๋ฅผ ํŒŒ์‹ฑํ•˜๊ณ  ์‹คํ–‰ํ•œ๋‹ค.
-> script ํƒœ๊ทธ์˜ ์œ„์น˜์— ๋”ฐ๋ผ HTML ํŒŒ์‹ฑ์ด ๋ธ”๋กœํ‚น๋˜์–ด DOM ์ƒ์„ฑ์ด ์ง€์—ฐ๋  ์ˆ˜ ์žˆ๋‹ค
=> script ํƒœ๊ทธ์˜ ์œ„์น˜๋Š” ์ค‘์š”ํ•œ ์˜๋ฏธ๋ฅผ ๊ฐ–๋Š”๋‹ค.
- DOM์„ ๋ณ€๊ฒฝํ•˜๋Š” DOM API๋ฅผ ์‚ฌ์šฉํ•  ๋•Œ DOM ์ƒ์„ฑ์ด ์™„๋ฃŒ๋˜์ง€ ์•Š์€ ์ƒํƒœ๋ผ๋ฉด ๋ฌธ์ œ๊ฐ€ ๋ฐœ์ƒํ•  ์ˆ˜ ์žˆ๋‹ค.
-> ์ด๋Ÿฌํ•œ ๋ฌธ์ œ๋ฅผ ํšŒํ”ผํ•˜๊ธฐ ์œ„ํ•ด body ์š”์†Œ์˜ ๊ฐ€์žฅ ์•„๋ž˜์— ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ๋ฅผ ์œ„์น˜ ์‹œํ‚ฌ ์ˆ˜ ์žˆ๋‹ค.
=> ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ ๋กœ๋”ฉ/ํŒŒ์‹ฑ/์‹คํ–‰์œผ๋กœ ์ธํ•ด HTML ์š”์†Œ๋“ค์˜ ๋ Œ๋”๋ง์— ์ง€์žฅ๋ฐ›๋Š” ์ผ์ด ๋ฐœ์ƒํ•˜์ง€ ์•Š์•„ ํŽ˜์ด์ง€ ๋กœ๋”ฉ ์‹œ๊ฐ„์ด ๋‹จ์ถ•๋œ๋‹ค.

### 38.9 script ํƒœ๊ทธ์˜ async/defer ์–ดํŠธ๋ฆฌ๋ทฐํŠธ

- ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ ํŒŒ์‹ฑ์— ์˜ํ•œ DOM ์ƒ์„ฑ ์ค‘๋‹จ ๋ฌธ์ œ๋ฅผ ๊ทผ๋ณธ์ ์œผ๋กœ ํ•ด๊ฒฐํ•˜๊ธฐ ์œ„ํ•ด
HTML5๋ถ€ํ„ฐ script ํƒœ๊ทธ์— `async`์™€ `defer` ์–ดํŠธ๋ฆฌ๋ทฐํŠธ๊ฐ€ ์ถ”๊ฐ€๋˜์—ˆ๋‹ค.
- `async`์™€ `defer` ์–ดํŠธ๋ฆฌ๋ทฐํŠธ๋Š” src ์–ดํŠธ๋ฆฌ๋ทฐํŠธ๋ฅผ ํ†ตํ•ด ์™ธ๋ถ€ ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ ํŒŒ์ผ์„ ๋กœ๋“œํ•˜๋Š” ๊ฒฝ์šฐ์—๋งŒ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋‹ค. (์ธ๋ผ์ธ ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ์—๋Š” ์‚ฌ์šฉ ๋ถˆ๊ฐ€)
- `async`์™€ `defer` ์–ดํŠธ๋ฆฌ๋ทฐํŠธ๋ฅผ ์‚ฌ์šฉํ•˜๋ฉด HTML ํŒŒ์‹ฑ๊ณผ ์™ธ๋ถ€ ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ ํŒŒ์ผ์˜ ๋กœ๋“œ๊ฐ€ ๋น„๋™๊ธฐ์ ์œผ๋กœ ๋™์‹œ์— ์ง„ํ–‰๋œ๋‹ค. ํ•˜์ง€๋งŒ ์‹คํ–‰ ์‹œ์ ์— ์ฐจ์ด๊ฐ€ ์žˆ๋‹ค.

**`async` ์–ดํŠธ๋ฆฌ๋ทฐํŠธ**

- HTML ํŒŒ์‹ฑ๊ณผ ์™ธ๋ถ€ ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ ํŒŒ์ผ์˜ ๋กœ๋“œ๊ฐ€ ๋น„๋™๊ธฐ์ ์œผ๋กœ ๋™์‹œ์— ์ง„ํ–‰๋œ๋‹ค.

<img width="300" alt="image" src="https://github.com/Next-by-Next/Javascript-Deep-Dive-Study/assets/78250089/3217ade6-9071-4bf6-b6f7-5f65eb201821">

**`defer` ์–ดํŠธ๋ฆฌ๋ทฐํŠธ**

- HTML ํŒŒ์‹ฑ๊ณผ ์™ธ๋ถ€ ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ ํŒŒ์ผ์˜ ๋กœ๋“œ๊ฐ€ ๋น„๋™๊ธฐ์ ์œผ๋กœ ๋™์‹œ์— ์ง„ํ–‰๋œ๋‹ค.

<img width="300" alt="image" src="https://github.com/Next-by-Next/Javascript-Deep-Dive-Study/assets/78250089/3dc623d1-cd33-4222-a5b2-f894f3859c82">

0 comments on commit 07c0207

Please sign in to comment.