14.1 λ³μμ μλͺ μ£ΌκΈ°
14.1.1 μ§μ λ³μμ μλͺ μ£ΌκΈ°
λ³μμ μλͺ μ£ΌκΈ°
- λ³μλ μ μΈμ μν΄ μμ±λκ³ ν λΉμ ν΅ν΄ κ°μ κ°κ² λλ©° μΈμ κ° μλ©Έν¨.
- λ³μλ μμ μ΄ μ μΈλ μμΉμμ μμ±λκ³ μλ©Έν¨.
- λ³μ μ μΈμ λ°νμμ΄ μλλΌ, λ°νμ μ΄μ λ¨κ³μμ μ€νλ¨. (μ μλ³μ νμ )
- μ§μ λ³μλ ν¨μκ° νΈμΆ λ λ μ μΈλ¨ -> μ§μλ³μμ μλͺ μ£ΌκΈ° === ν¨μμ μλͺ μ£ΌκΈ°
- λ³μμ μλͺ μ£ΌκΈ° : λ©λͺ¨λ¦¬ 곡κ°μ΄ ν보λ μμ λΆν° λ©λͺ¨λ¦¬ 곡κ°μ΄ ν΄μ λμ΄ κ°μ© λ©λͺ¨λ¦¬ νμ λ°νλλ μμ κΉμ§
=> λ³μλ μμ μ΄ λ±λ‘λ μ€μ½νκ° μλ©Έλ λκΉμ§ μ ν¨ν¨.
- ν¨μ λ΄λΆμμ λ³μ μ μΈ μ΄μ μ λ³μλ₯Ό μ¬μ©νλ€λ©΄ -> ν¨μ λ΄μ λ³μλ₯Ό μ¬μ©νλ κ² λ§κ³ λμ undefined λ₯Ό κ°κ³ μμ.
(νΈμ΄μ€ν -> μ€μ½ν λ¨μλ‘ λμ)
14.1.2 μ μ λ³μμ μλͺ μ£ΌκΈ°
- μ μ μ½λλ λͺ μμ μΈ νΈμΆ μμ΄ μ€νλ¨.
-> ν¨μ νΈμΆμ²λΌ μ€ννλ νΉλ³ν μ§μ μ μ΄ μκ³ , μ½λκ° λ‘λλμ λ§μ 곧λ°λ‘ ν΄μ & μ€νλ¨.
- λ§μ§λ§ λ¬Έμ΄ μ€νλμ΄, λ μ΄μ μ€νν λ¬Έμ΄ μμ λ μ’ λ£ν¨.
- μ μ° κ°μ²΄: μ½λ μ€ν μ λ¨κ³μ JS μμ§μ μν΄ μ΄λ€ κ°μ²΄λ³΄λ€λ λ¨Όμ μμ±λλ νΉμλ κ°μ²΄.
(λΈλΌμ°μ μ window, Node.jsμ global κ°μ²΄λ₯Ό μλ―Έ) => ES11 : globalThis λ‘ μ΄λ¦ ν΅μΌλ¨.
- var ν€μλλ‘ μ μΈν μ μλ³μλ μΉνμ΄μ§λ₯Ό λ«μ λκΉμ§ μ ν¨ => μ μ κ°μ²΄μ μλͺ μ£ΌκΈ°μ μΌμΉν¨.
14.2 μ μ λ³μμ λ¬Έμ μ
(1) μ묡μ κ²°ν©
- λͺ¨λ μ½λκ° μ μ λ³μλ₯Ό μ°Έμ‘°ν μ μκ³ λ³κ²½νλ κ±Έ νμ©.
- λ³μμ μ ν¨λ²μκ° ν΄μλ‘ μ½λμ κ°λ μ± λλΉ μ§κ³ , μλμΉ μκ² μνκ° λ³κ²½λ μνμ±λ λμμ§.
(2) κΈ΄ μλͺ μ£ΌκΈ°
- μλͺ μ£ΌκΈ°κ° κΈΈλ€ -> λ©λͺ¨λ¦¬ 리μμ€λ μ€λ κΈ°κ° μλΉν¨. & μ μ λ³μμ μνλ₯Ό λ³κ²½ν μ μλ μκ°, κΈ°νκ° λ§μ.
- μ¬ν λΉμ΄ κ°λ₯ν΄μ μνλ μ¬λΌκ°.
(3) μ€μ½ν μ²΄μΈ μμμ μ’ μ μ μ‘΄μ¬
- λ³μ κ²μ μ κ°μ₯ λ§μ§λ§μ κ²μλ¨ => μ μ λ³μμ κ²μ μλκ° κ°μ₯ λλ¦Ό
(4) λ€μμ€νμ΄μ€ μ€μΌ
- νμΌμ΄ λΆλ¦¬λμ΄λ νλμ μ μ μ€μ½λ₯΄λ₯Ό 곡μ ν¨ -> λ€λ₯Έ νμΌμ κ°μ μ΄λ¦μ΄ μ‘΄μ¬νλ©΄ μμμΉ λͺ»ν κ²°κ³Ό μκΉ
14.3 μ μ λ³μμ μ¬μ©μ μ΅μ νλ λ°©λ²
- μ μλ³μλ₯Ό λ°λμ μ¬μ©ν΄μΌ νλ μ΄μ κ° μμΌλ©΄ μ¬μ©νμ§ λ§κ²
- λ³μμ μ€μ½νλ μ’μ μλ‘ μ’λ€.
μ μ λ³μμ μ¬μ©μ μ΅μ νλ λ°©λ²λ€
14.3.1 μ¦μ μ€νν¨μ
- λͺ¨λ μ½λλ₯Ό μ¦μ μ€ν ν¨μλ‘ κ°μΈλ©΄ λͺ¨λ λ³μλ μ¦μ μ€νν¨μμ λ³μκ° λ¨.
14.3.2 λ€μμ€νμ΄μ€ κ°μ²΄
- λ€μ μ€νμ΄μ€λ₯Ό λ΄λΉνλ κ°μ²΄λ₯Ό μμ± -> μ μ λ³μμ²λΌ μ¬μ©νκ³ μΆμ λ³μλ₯Ό νλ‘νΌν°λ‘ μΆκ°νκΈ°
14.3.3 λͺ¨λ ν¨ν΄
- λͺ¨λ ν¨ν΄ : μ μ λ³μμ μ΅μ λ λ¬Όλ‘ μΊ‘μνκΉμ§ ꡬνμ΄ κ°λ₯. ν΄λ‘μ κΈ°λ°μΌλ‘ λμν¨.
μΊ‘μν
: κ°μ²΄μ μνλ₯Ό λνλ΄λ νλ‘νΌν° & νλ‘νΌν°λ μ°Έμ‘°νκ³ μ‘°μν μ μλ λμ 맀μΈλλ₯Ό νλλ λ¬Άλ κ².
μ 보 μλ μΌλ‘λ μ¬μ©ν¨. == κ°μ²΄μ νΉμ νλ‘νΌν°λ 맀μλλ₯Ό κ°μΆ λͺ©μ μΌλ‘λ μ¬μ©ν¨.
JSλ μ κ·Ό μ νμ μκΈ° λλ¬Έμ λͺ¨λ ν¨ν΄ μ¬μ©ν¨.
14.3.4 ES6 λͺ¨λ
ES6 λͺ¨λμ μ¬μ©νλ©΄ μ μ λ³μ μ¬μ©ν μ μμ.
<script type="module" src="index.mjs></script>
π μ¬μ©νλ©΄ JS νμΌμ λͺ¨λλ‘μ λμν¨.
μμ§κΉμ§λ ES6 λͺ¨λ 보λ€λ Webpack λ±μ λͺ¨λ λ²λ€λ¬λ₯Ό μ¬μ©νλ κ²μ΄ μΌλ°μ .
'λ μ λͺ©λ‘ > λͺ¨λ₯λ€ Modern JS Deep Dive' μΉ΄ν κ³ λ¦¬μ λ€λ₯Έ κΈ
[λͺ¨λ₯λ€] 16μ₯ νλ‘νΌν° μ΄νΈλ¦¬λ·°νΈ (0) | 2023.05.08 |
---|---|
[λͺ¨λ₯λ€] 15μ₯ let, const ν€μλμ λΈλ‘ λ 벨 μ€μ½ν (0) | 2023.05.08 |
[λͺ¨λ₯λ€] 13μ₯ μ€μ½ν (0) | 2023.05.05 |
[λͺ¨λ₯λ€] 12μ₯ ν¨μ (0) | 2023.05.04 |
[λͺ¨λ₯λ€] 11μ₯ μμ κ°κ³Ό κ°μ²΄μ λΉκ΅ (0) | 2023.05.03 |