Modern Javascript DeepDive
๐คย ๊ฐ์ธ / 2023.11 ~ 12
๋ณธ ๋ฌธ์๋ ์ฑ
ใ๋ชจ๋ ์๋ฐ์คํฌ๋ฆฝํธ ๋ฅ๋ค์ด๋ธใ๋ฅผ ๊ณต๋ถํ๋ฉฐ ์๋ฐ์คํฌ๋ฆฝํธ์ ๋ํ ๋ ํฌ ์ค๋์ ์ดํด๋ฅผ ๋๊ณ ,
์ด๋ ดํ์ด ์๊ณ ์๋ ๊ฐ๋
์ ๋ํ ํ๊ธฐ๋ฅผ ์ํด ์์ฑํ์์ต๋๋ค.
- ํด๋๋ช ์ซ์๋ ์ฑ ์์ ํด๋นํ๋ ์ฑํฐ
- tail-questions: ์ถ๊ฐ ์ ๋ฆฌ ์๋ฃ
CHAPTER | TITLE | KEYWORDS |
---|---|---|
01, 02, 03 | ๋ชจ๋ ์๋ฐ์คํธ๋ฆฝํธ ๋ฅ๋ค์ด๋ธ๋ฅผ ๋ค์ด๊ฐ๋ฉฐ |
ES6 , V8
|
04, 05 | ๋ณ์, ์๋ณ์, ๋ฆฌํฐ๋ด, ํํ์, ๋ช ๋ น๋ฌธ | ๋ณ์(variable), ์๋ณ์(identifier), ๋ฆฌํฐ๋ด(literal), ํํ์(expression), ๋ฌธ(statement) |
06, 07, 09 | JS์ ๋ฐ์ดํฐ ํ์ ๊ณผ ํ์ ๋ณํ, ์ฐ์ฐ์์ ๋จ์ถํ๊ฐ |
operator, ์๋ฌต์ /๋ช
์์ ํ์
๋ณํ(implicit/explicit coercion), type casting, && , || , ?. , ??
|
08 | ์ ์ด๋ฌธ ๊ฐ๋จํ ๋ณด๊ธฐ |
switch๋ฌธ, label๋ฌธ, for , while , break , continue
|
10, 11 | Object(๊ฐ์ฒด), ์์ ํ์ ๊ณผ์ ๋น๊ต |
object, pass by value , pass by reference
|
12, 18, 26 | ํจ์, ์ผ๊ธ๊ฐ์ฒด, ES6 ํจ์์ ์ถ๊ฐ ๊ธฐ๋ฅ |
ํจ์, ์ผ๊ธ๊ฐ์ฒด, ํจ์๊ฐ์ฒด, arguments, __proto__ , ES6 ๋ฉ์๋, ํ์ดํ ํจ์, Rest ํ๋ผ๋ฏธํฐ(... ), ํ๋ผ๋ฏธํฐ ๊ธฐ๋ณธ๊ฐ
|
13, 14, 15, 24 | ์ค์ฝํ, ์ ์ญ ๋ณ์, let/const, ๋ธ๋ก๋ ๋ฒจ ์ค์ฝํ, ํด๋ก์ |
์ ์ญ, ์ง์ญ(local), let , const , var , ๋ ์์ปฌ(lexical) ์ค์ฝํ, ๋ ์์ปฌ ํ๊ฒฝ, ํด๋ก์
|
16 | ํ๋กํผํฐ ์ดํธ๋ฆฌ๋ทฐํธ(Property Attribute) | ๋ด๋ถ ์ฌ๋กฏ, ๋ด๋ถ ๋ฉ์๋, ๋ฐ์ดํฐ ํ๋กํผํฐ, ์ ๊ทผ์ ํ๋กํผํฐ, ํ๋กํผํฐ ๋์คํฌ๋ฆฝํฐ |
17 | ์์ฑ์ ํจ์์ ์ํ ๊ฐ์ฒด ์์ฑ |
์์ฑ์ํจ์, Object(); , constructor, non-constructor, new , new.target
|
19 | ํ๋กํ ํ์ |
prototype , __proto__ , ํ๋กํ ํ์
์ฒด์ธ, instanceof , in , ์ค๋ฒ๋ผ์ด๋ฉ(overriding), ์๋์(shadowing), ์ค๋ฒ๋ก๋ฉ(overloading)
|
20 | "strict mode" |
'strict mode'
|
21 | ๋นํธ์ธ ๊ฐ์ฒด | ํ์ค๋นํธ์ธ๊ฐ์ฒด, ๋ํผ๊ฐ์ฒด, ์ ์ญ๊ฐ์ฒด, ๋นํธ์ธ์ ์ญํจ์, ๋นํธ์ธ์ ์ญํ๋กํผํฐ |
22 | this |
this
|
23 | ์คํ ์ปจํ ์คํธ | ์์ค์ฝ๋, ์คํ ์ปจํ ์คํธ ์คํ(์ฝ์คํ), ๋ ์์ปฌ ํ๊ฒฝ |
25 | ์๋ก์ด ๊ฐ์ฒด ์์ฑ ๋ฉ์ปค๋์ฆ, ํด๋์ค |
class , constructor , ๋ฉ์๋, ์ธ์คํด์ค, ์์, extends , super , ํด๋์ค ํ๋, static ํ๋, private , static ,
|
27 | ๋ฐฐ์ด(Array)๊ณผ ๊ณ ์ฐจํจ์ | ๋ฐฐ์ด์ ๋ฐฐ์ด์ด ์๋๋ค, ๊ณ ์ฐจํจ์ |
28, 29, 30 | Number, Math, Date |
Number , Math , Date
|
31, 32 | ์ ๊ท ํํ์๊ณผ ๋ฌธ์์ด |
RegExp , ํ๋๊ทธ, ํจํด, String
|
33 | 7๋ฒ์งธ ํ์ Symbol | Symbol |
34, 46 | ์ดํฐ๋ฌ๋ธ, ์ดํฐ๋ ์ดํฐ, ์ ๋๋ ์ดํฐ |
iterable, iterator, Symbol.iterator , next()
|
35, 36 | ์คํ๋ ๋ ๋ฌธ๋ฒ๊ณผ ๊ตฌ์กฐ๋ถํดํ ๋น |
์ ๊ฐ๋ฌธ๋ฒ, ... , ์์ ๋ณต์ฌ, Rest element ์ฌ์ฉ
|
37 | Set๊ณผ Map | Set, ์งํฉ์ฐ์ฐ, Map |
38 | ๋ธ๋ผ์ฐ์ ๋ ์ด๋ป๊ฒ ๋ ๋๋งํ๋๊ฐ |
ํ์ฑ, DOM, CSSOM, AST, ๋ ๋ํธ๋ฆฌ, ๋ฆฌํ๋ก์ฐ(reflow), ๋ฆฌํ์ธํธ(repaint), async/defer
|
39 | DOM(Document Object Model) | DOM, ๋ ธ๋, DOM api |
40 | ์ด๋ฒคํธ |
์ด๋ฒคํธ ํ์
, ์ด๋ฒคํธ ํธ๋ค๋ฌ, addEventListener , ์ด๋ฒคํธ ๊ฐ์ฒด, ์ปค์คํ
์ด๋ฒคํธ, dispatchEvent , ์ด๋ฒคํธ ์ ํ์ ์์, preventDefault , stopPropagation
|
41, 42, 45, 46 | ์๋ฐ์คํฌ๋ฆฝํธ์ ๋น๋๊ธฐ ํ๋ก๊ทธ๋๋ฐ๊ณผ ๋น๋๊ธฐ ์ฒ๋ฆฌ ๋ฐฉ์ |
setTimeout , setInterval , ๋๋ฐ์ด์ค, ์ค๋กํ, ํ์คํฌํ, ์ด๋ฒคํธ๋ฃจํ, ์ฝ๋ฐฑํจํด, Promise , ์ ๋๋ ์ดํฐ, async/await
|
43, 44 | Ajax์ REST API |
JSON, JSON.stringify , JSON.parse , XMLHttpRequest,fetch , URI(์๋ํฌ์ธํธ)
|
47 | ์๋ฌ ๋ฐ์๊ณผ ์ ์ ํ ํธ๋ค๋ง |
try{...}catch(err){...} , Error ์์ฑ์ ํจ์, throw
|
48 | ES6 ๋ชจ๋ |
export , import , default , ํ์ผ ์ค์ฝํ
|
49 | ๋ฐ๋ฒจ, ์นํฉ | babel, webpack |