μΌ | μ | ν | μ | λͺ© | κΈ | ν |
---|---|---|---|---|---|---|
1 | ||||||
2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 | 24 | 25 | 26 | 27 | 28 |
- peerdependencies
- version management
- mixin pattern
- μ¬λ¦Όν½ ν΅κ³ μλΉμ€ μ΅μ ν
- DOM
- μ΄λ―Έμ§ κ°€λ¬λ¦¬ μ΅μ ν
- middleware pattern
- μ μ½λ λ°μμ€κΈ°
- Babelκ³Ό Webpack
- 컀리μ΄
- μ΄λ²€νΈ
- νλ‘κ·Έλλ¨Έμ€
- μ λλ μ΄ν°μ async/await
- μλ°μ€ν¬λ¦½νΈ ν¨ν΄
- μλ°μ€ν¬λ¦½νΈ λ₯λ€μ΄λΈ
- const
- μ§νκΈ°λ‘
- νμ΅λ΄μ©μ 리
- μ€μ½ν
- unique identifiers
- λΈλ‘κ·Έ μλΉμ€ μ΅μ ν
- μλ°μ€ν¬λ¦½νΈ
- js pattern
- νλ‘ νΈμλ μ±λ₯ μ΅μ ν κ°μ΄λ
- λΈλΌμ°μ μ λ λλ§ κ³Όμ
- package management
- js pattern
- pr review
- λ₯λ€μ΄λΈ
- λͺ¨λ μλ°μ€ν¬λ¦½νΈ Deep Dive
- Today
- Total
λͺ©λ‘λͺ¨λ μλ°μ€ν¬λ¦½νΈ Deep Dive (18)
Dev Blog

ν¬λ‘¬, μ¬ν리, νμ΄μ΄νμ€, μ£μ§ κ°μ μλ²κ·Έλ¦° λΈλΌμ°μ _evergreen browser 1μ ES6 μ§μμ¨μ μ½ 98%λ‘ κ±°μ λλΆλΆμ ES6 μ¬μμ μ§μνλ€. ES6+μ ES.NEXTμ μ΅μ ECMAScript μ¬μμ μ¬μ©νμ¬ νλ‘μ νΈλ₯Ό μ§ννλ €λ©΄ μ΅μ μ¬μμΌλ‘ μμ±λ μ½λλ₯Ό κ²½μ°μ λ°λΌ IEλ₯Ό ν¬ν¨ν ꡬν λΈλΌμ°μ μμ λ¬Έμ μμ΄ λμμν€κΈ° μν κ°λ° νκ²½μ ꡬμΆνλ κ²μ΄ νμνλ€. λν λλΆλΆμ νλ‘μ νΈκ° λͺ¨λμ μ¬μ©νλ―λ‘ λͺ¨λ λ‘λλ νμνλ€. ES6 λͺ¨λ(ESM) μ λλΆλΆμ λͺ¨λ λΈλΌμ°μ (Chrome 61, FF 60, SF 10.1, Edge 16 μ΄μ)μμ μ¬μ©ν μ μλ€. νμ§λ§ λ€μκ³Ό κ°μ μ΄μ λ‘ μμ§κΉμ§λ ESM보λ€λ λ³λμ λͺ¨λ λ‘λλ₯Ό μ¬μ©νλ κ²μ΄ μΌλ°μ μ΄λ€. IEλ₯Ό ν¬ν¨ν ꡬν ..

48.1 λͺ¨λμ μΌλ°μ μλ―Έ λͺ¨λ_module μ΄λ μ ν리μΌμ΄μ μ ꡬμ±νλ κ°λ³μ μμλ‘μ μ¬μ¬μ© κ°λ₯ν μ½λ μ‘°κ°μ λ§νλ€. λͺ¨λμ΄ μ±λ¦½νλ €λ©΄ λͺ¨λμ μμ λ§μ νμΌ μ€μ½ν(λͺ¨λ μ€μ½ν)λ₯Ό κ°μ§ μ μμ΄μΌ νλ€. μμ λ§μ νμΌ μ€μ½νλ₯Ό κ°λ λͺ¨λμ μμ°(λͺ¨λμ ν¬ν¨λμ΄ μλ λ³μ, ν¨μ, κ°μ²΄ λ±)μ κΈ°λ³Έμ μΌλ‘ λΉκ³΅κ° μνλ€. λ€μ λ§ν΄, μμ λ§μ νμΌ μ€μ½νλ₯Ό κ°λ λͺ¨λμ λͺ¨λ μμ°μ μΊ‘μνλμ΄ λ€λ₯Έ λͺ¨λμμ μ κ·Όν μ μλ€. μ¦, λͺ¨λμ κ°λ³μ μ‘΄μ¬λ‘μ μ ν리μΌμ΄μ κ³Ό λΆλ¦¬λμ΄ μ‘΄μ¬νλ€. λͺ¨λμ 곡κ°κ° νμν μμ°μ νμ νμ¬ λͺ μμ μΌλ‘ μ νμ 곡κ°κ° κ°λ₯νλ€. μ΄λ₯Ό exportλΌ νλ€. λͺ¨λ μ¬μ©μλ λͺ¨λμ΄ κ³΅κ°_export ν μμ° μ€ μΌλΆ λλ μ 체λ₯Ό μ νν΄ μμ μ μ€μ½ν λ΄λ‘ λΆλ¬λ€μ¬ μ¬μ¬μ©ν μ..

47.1 μλ¬ μ²λ¦¬μ νμμ± μλ¬_errorκ° λ°μνμ§ μλ μ½λλ₯Ό μμ±νλ κ²μ λΆκ°λ₯νλ€. λ°λΌμ μλ¬λ μΈμ λ λ°μν μ μλ€. λ°μν μλ¬μ λν΄ λμ²νμ§ μκ³ λ°©μΉνλ©΄ νλ‘κ·Έλ¨μ κ°μ μ’ λ£λλ€. try...catch λ¬Έμ μ¬μ©ν΄ λ°μν μλ¬μ μ μ νκ² λμνλ©΄ νλ‘κ·Έλ¨μ΄ κ°μ μ’ λ£λμ§ μκ³ κ³μν΄μ μ½λλ₯Ό μ€νμν¬ μ μλ€. μ§μ μ μΌλ‘ μλ¬λ₯Ό λ°μνμ§λ μλ μμΈ_exception μ μΈ μν©μ΄ λ°μν μλ μλ€. μμΈμ μΈ μν©μ μ μ νκ² λμνμ§ μμΌλ©΄ μλ¬λ‘ μ΄μ΄μ§ κ°λ₯μ±μ΄ ν¬λ€. 47.2 try..catch...finally λ¬Έ μμΈμ μΈ μν©μ΄ λ°μνλ©΄ 첫λ²μ§Έ, λ°ννλ κ°(null λλ -1)μ if λ¬Έμ΄λ λ¨μΆ νκ° λλ μ΅μ λ 체μ΄λ μ°μ°μλ₯Ό ν΅ν΄ νμΈν΄μ μ²λ¦¬νλ λ°©λ²κ³Ό λλ²μ§Έ, μλ¬..

46.1 μ λλ μ΄ν°λ? ES6μμ λμ λ μ λλ μ΄ν°_generatorλ μ½λ λΈλ‘μ μ€νμ μΌμ μ€μ§νλ€κ° νμν μμ μ μ¬κ°ν μ μλ νΉμν ν¨μλ€. μ λλ μ΄ν°μ μΌλ° ν¨μμ μ°¨μ΄λ λ€μκ³Ό κ°λ€. 1. μ λλ μ΄ν° ν¨μλ ν¨μ νΈμΆμμκ² ν¨μ μ€νμ μ μ΄κΆμ μλν μ μλ€. 2. μ λλ μ΄ν° ν¨μλ ν¨μ νΈμΆμμ ν¨μμ μνλ₯Ό μ£Όκ³ λ°μ μ μλ€. 3. μ λλ μ΄ν° ν¨μλ₯Ό νΈμΆνλ©΄ μ λλ μ΄ν° κ°μ²΄λ₯Ό λ°ννλ€. 46.2 μ λλ μ΄ν° ν¨μμ μ μ μ λλ μ΄ν° ν¨μλ function* ν€μλλ‘ μ μΈνλ€. κ·Έλ¦¬κ³ νλ μ΄μμ yield ννμμ ν¬ν¨νλ€. μ΄κ²μ μ μΈνλ©΄ μΌλ° ν¨μλ₯Ό μ μνλ λ°©λ²κ³Ό κ°λ€. μ μ€ν°λ¦¬μ€ν¬(*)μ μμΉλ function ν€μλμ ν¨μ μ΄λ¦ μ¬μ΄λΌλ©΄ μ΄λλ μ§ μκ΄μλ€. 46.3 μ λλ μ΄ν° ..

μλ°μ€ν¬λ¦½νΈλ λΉλκΈ° μ²λ¦¬λ₯Ό μν νλμ ν¨ν΄μΌλ‘ μ½λ°± ν¨μλ₯Ό μ¬μ©νλ€. νμ§λ§ μ ν΅μ μΈ μ½λ°± ν¨ν΄μ μ½λ°± ν¬λ‘ μΈν΄ κ°λ μ±μ΄ λμκ³ λΉλκΈ° μ²λ¦¬ μ€ λ°μν μλ¬μ μ²λ¦¬κ° κ³€λνλ©° μ¬λ¬ κ°μ λΉλκΈ° μ²λ¦¬λ₯Ό νλ²μ μ²λ¦¬νλ λ°λ νκ³κ° μλ€. ES6μμλ λΉλκΈ° μ²λ¦¬λ₯Ό μν λ λ€λ₯Έ ν¨ν΄μΌλ‘ νλ‘λ―Έμ€_Promise λ₯Ό λμ νλ€. νλ‘λ―Έμ€λ μ ν΅μ μΈ μ½λ°± ν¨ν΄μ΄ κ°μ§ λ¨μ μ 보μνλ©° λΉλκΈ° μ²λ¦¬ μμ μ λͺ ννκ² ννν μ μλ€λ μ₯μ μ΄ μλ€. 45.1 λΉλκΈ° μ²λ¦¬λ₯Ό μν μ½λ°± ν¨ν΄μ λ¨μ 45.1.1 μ½λ°± ν¬ λΉλκΈ° ν¨μ λ΄λΆμ λΉλκΈ°λ‘ λμνλ μ½λλ λΉλκΈ° ν¨μκ° μ’ λ£λ μ΄νμ μλ£λλ€. λ°λΌμ λΉλκΈ° ν¨μ λ΄λΆμ λΉλκΈ°λ‘ λμνλ μ½λμμ μ²λ¦¬ κ²°κ³Όλ₯Ό μΈλΆλ‘ λ°ννκ±°λ μμ μ€μ½νμ λ³μμ ν λΉνλ©΄ κΈ°..

RESTλ HTTPλ₯Ό κΈ°λ°μΌλ‘ ν΄λΌμ΄μΈνΈκ° μλ²μ 리μμ€μ μ κ·Όνλ λ°©μμ κ·μ ν μν€ν μ²κ³ , REST APIλ RESTλ₯Ό κΈ°λ°μΌλ‘ μλΉμ€ APIλ₯Ό ꡬνν κ²μ μλ―Ένλ€. 44.1 REST API μ κ΅¬μ± 44.2 REST API μ€κ³ μμΉ URIλ 리μμ€λ₯Ό νννλ λ° μ§μ€νκ³ νμμ λν μ μλ HTTP μμ² λ©μλλ₯Ό ν΅ν΄ νλ κ² μ΄ RESTful APIλ₯Ό μ€κ³νλ μ€μ¬ κ·μΉμ΄λ€. -μλΌλ eBook (μ΄μ λͺ¨ μ§μ) μ€μμ

43.1 Ajax λ? Ajax_Asynchronous JavaScript and XML λ μλ°μ€ν¬λ¦½νΈλ₯Ό μ¬μ©νμ¬ λΈλΌμ°μ κ° μλ²μκ² λΉλκΈ° λ°©μμΌλ‘ λ°μ΄ν°λ₯Ό μμ²νκ³ , μλ²κ° μλ΅ν λ°μ΄ν°λ₯Ό μμ νμ¬ μΉνμ΄μ§λ₯Ό λμ μΌλ‘ κ°±μ νλ νλ‘κ·Έλλ° λ°©μμ λ§νλ€. Ajaxλ λΈλΌμ°μ μμ μ 곡νλ Web APIμΈ XMLHttpRequest κ°μ²΄λ₯Ό κΈ°λ°μΌλ‘ λμνλ€. XMLHttpRequestλ HTTP λΉλκΈ° ν΅μ μ μν λ©μλμ νλ‘νΌν°λ₯Ό μ 곡νλ€. Ajaxμ λ±μ₯μ μ΄μ μ μ ν΅μ μΈ ν¨λ¬λ€μμ νκΈ°μ μΌλ‘ μ ννλ€. μ¦, μλ²λ‘λΆν° μΉνμ΄μ§μ λ³κ²½μ νμν λ°μ΄ν°λ§ λΉλκΈ° λ°©μμΌλ‘ μ μ‘λ°μ μΉνμ΄μ§λ₯Ό λ³κ²½ν νμκ° μλ λΆλΆμ λ€μ λ λλ§νμ§ μκ³ , λ³κ²½ν νμκ° μλ λΆλΆλ§ νμ μ μΌλ‘ λ λλ§νλ λ°©μμ΄ κ°λ₯ν΄..

42.1 λκΈ° μ²λ¦¬μ λΉλκΈ° μ²λ¦¬ 1. ν¨μ μ€ν νλ‘μΈμ€ ν¨μ νΈμΆ → ν¨μμ½λ νκ° → ν¨μ μ€ν 컨ν μ€νΈ μμ± ν¨μ μ€ν 컨ν μ€νΈκ° μ½ μ€νμ νΈμλμ΄ ν¨μ μ½λκ° μ€νλλ€. ν¨μ μ½λ μ€νμ΄ μ’ λ£λλ©΄ μ½ μ€νμμ ν λμ΄ μ κ±°λλ€. ν¨μμ μ€ν μμλ μ΄ μ½ μ€νμΌλ‘ κ΄λ¦¬νλλ°, μλ°μ€ν¬λ¦½νΈ μμ§μ λ¨ νλμ μ€ν 컨ν μ€νΈ μ€ν(μ½ μ€ν)μ κ°λλ€. 2. λκΈ° μ²λ¦¬λ‘ μΈν λΈλ‘νΉ νμ μ΄μ²λΌ μλ°μ€ν¬λ¦½νΈ μμ§μ ν λ²μ νλμ νμ€ν¬λ§ μ€νν μ μλ μ±κΈ μ€λ λ(single thread) λ°©μμΌλ‘ λμνκΈ° λλ¬Έμ μ²λ¦¬μ μκ°μ΄ 걸리λ νμ€ν¬λ₯Ό μ€ννλ κ²½μ° λΈλ‘νΉ(μμ μ€λ¨) νμμ΄ λ°μνλ€. 3. λΉλκΈ° μ²λ¦¬ λ§μ½ νμ΄λ¨Έ ν¨μμΈ setTimeout μ μ΄μ©νλ©΄ μ΄νμ νμ€ν¬λ₯Ό λΈλ‘νΉνμ§ μκ³ κ³§..