λΉλκΈ°(asynchronous)λ,μμ μ΄ μμ²λ μ¦μ κ²°κ³Όκ° μ£Όμ΄μ§λ κ²μ΄ μλλΌ κ·Έ κ²°κ³Όκ° μ€λΉλμμ λ λμ€μ μ²λ¦¬λλ λ°©μμ μλ―Ένλ€.μ½κ² λ§νλ©΄,μ΄λ€ μμ μ μμ²νκ³ κ·Έ κ²°κ³Όκ° μ¬ λκΉμ§ κΈ°λ€λ¦¬μ§ μκ³ , κ·Έ μ¬μ΄μ λ€λ₯Έ μμ μ λ¨Όμ μ²λ¦¬ν μ μλλ‘ νλ‘κ·Έλλ°
1οΈβ£ Promise, μ λ μ΄λ κ² μ΄ν΄νμ΄μ! 1. μ½λ°± ν¬κ³Ό Promiseμ λ±μ₯! 1-1. μ½λ°± ν¬μ΄λ 무μμΌκΉ? μ½λ°± ν¬(callback hell)μ λΉλκΈ° ν¨μλ₯Ό μ²λ¦¬νκΈ° μν΄ μ½λ°± ν¨μλ₯Ό κ³μ μ€μ²©ν΄μ μμ±νλ€ λ³΄λ μ½λκ° νΌλΌλ―Έλμ²λΌ μ€λ₯Έμͺ½μΌλ‘ μ μ λ°
17μ₯ : μμ±μ ν¨μμ μν κ°μ²΄ μμ± 17.1 Object μμ±μ ν¨μ μλ°μ€ν¬λ¦½νΈλ κ°μ²΄λ₯Ό μμ±νλ λ°©λ²μ΄ μ¬λ¬ κ°μ§ μλλ°, κ·Έμ€ νλκ° Object μμ±μ ν¨μλ€. νμ§λ§ μΌλ°μ μΌλ‘λ κ°μ²΄ 리ν°λ΄ {}μ λ λ§μ΄ μ¬μ©νλ€. μ΄μ λ λ κ°λ¨νκ³ μ§κ΄μ μ΄κΈ°
JavaScriptμμ this ν€μλλ μκΈ° μμ μ΄ μν κ°μ²΄λ₯Ό κ°λ¦¬ν€λ νΉμν μλ³μλ€.κ·Έλ°λ° ν₯λ―Έλ‘μ΄ μ μ, thisκ° λ¬΄μμ κ°λ¦¬ν¬μ§λ λ³μμ²λΌ μ½λ μμ± μμ μ μ ν΄μ§λ κ² μλλΌ, ν¨μκ° νΈμΆλλ λ°©μμ λ°λΌ λ°νμμ λμ μΌλ‘ κ²°μ λλ€λ κ²μ΄λ€. μ¦, κ°μ
μ€μ½νλ "μλ³μ(λ³μ Β· ν¨μ μ΄λ¦)κ° μ΄λκΉμ§ μ ν¨νκ°"λ₯Ό μ νλ κ·μΉμ΄λ€.μ¦, λ³μλ₯Ό μ΄λμ μ μΈνκ³ , μ΄λκΉμ§ μ κ·Ό κ°λ₯νμ§λ₯Ό κ²°μ νλ κ·μΉμ΄λ€.JavaScriptλ λ μ컬 μ€μ½ν(μ μ μ€μ½ν)λ₯Ό λ°λ₯Έλ€.μ΄λ ν¨μκ° μ΄λμ νΈμΆλμλμ§κ° μλλΌ, μ΄λμ μ μΈλμ
JavaScript μμ§μ μμ€μ½λλ₯Ό μ€ννκΈ° μ μ λ¨Όμ "μ΄ μ½λκ° μ΄λ€ νμ μΈμ§"λ₯Ό ꡬλΆνλ€. μλνλ©΄ μ½λμ μ±κ²©μ λ°λΌ μ΄λ€ μ€ν 컨ν μ€νΈλ₯Ό λ§λ€μ§, μ΄λ€ κ·μΉμ μ μ©ν μ§κ° λ¬λ¦¬μ§κΈ° λλ¬Έμ΄λ€. JavaScriptμ μμ€μ½λ νμ μ ν¬κ² λ€ κ°μ§λ‘ λλλ€.μ μ μ½

ν΄λ‘μ λ "ν¨μμ κ·Έ ν¨μκ° μ μΈλ λ μ컬 νκ²½μ μ‘°ν©"μ λ§νλ€.μ½κ² λ§ν΄μ "μΈλΆ ν¨μλ³΄λ€ μ€λ μ΄μλ¨μ λ΄λΆ ν¨μκ° μΈλΆ λ³μμ μ κ·Όν μ μλ νμ"μ λ»νλ€.λ³΄ν΅ ν¨μκ° μ€νμ λ§μΉλ©΄ κ·Έ μμ μλ μ§μ λ³μλ μ¬λΌμ§λ κ² λ§λ€.κ·Έλ°λ° ν΄λ‘μ κ° λ§λ€μ΄μ§λ©΄, ν¨
ν΄λμ€λ 무μμΌκΉ? ν΄λμ€μ λν΄μ μ± μλ λ€μκ³Ό κ°μ΄ κΈ°μ λμ΄ μλ€: "ES6μμ λμ λ ν΄λμ€λ κΈ°μ‘΄ νλ‘ν νμ κΈ°λ° κ°μ²΄μ§ν₯ νλ‘κ·Έλλ°λ³΄λ€ μ΅μν ν΄λμ€ κΈ°λ° κ°μ²΄μ§ν₯ νλ‘κ·Έλλ°λ³΄λ€ μ΅μν ν΄λμ€ κΈ°λ° κ°μ²΄μ§ν₯ νλ‘κ·Έλλ°μ κ°κΉμ΄ μλ‘μ΄ κ°μ²΄ μμ± λ§€μ»€λμ¦μ μ μ
μ κ· ννμ(Regular Expression)μ νλ§λλ‘ νννλ©΄ λ¬Έμμ΄μ ν¨ν΄μ μ°Ύλ κ²μ λꡬλΌκ³ ν μ μλ€.μΌμμνμμ μ°λ¦¬κ° 010μΌλ‘ μμνλ 11μ리 μ«μλΌκ³ λ§νλ©΄ ν΄λν° λ²νΈλ₯Ό λ μ¬λ¦¬λ κ²μ²λΌ μ κ· ννμλ λ¬Έμμ΄μ νΉμ ν¨ν΄μ μ μν΄μ μνλ λ¬Έμμ΄
JavaScriptμλ λ¬Έμμ΄, μ«μ, λΆλ¦¬μΈ κ°μ μ΅μν μμ νμ λ€μ΄ μλ€. κ·Έλ°λ° μ΄λ€ μΈμλ μ‘°κΈμ νΉλ³ν 'μ μΌνκ³ λ³κ²½ λΆκ°λ₯ν κ°'μ΄ μ‘΄μ¬νλ€. κ·Έκ² λ°λ‘ Symbolμ΄λ€.Symbolμ΄λΌλ λ¨μ΄λ λ³Έλ μμ§, νμμ΄λΌλ λ»μ κ°μ§κ³ μλ€. JavaScrip
Set κ°μ²΄λ μ€λ³΅λμ§ μλ κ°λ€μ μ§ν©μ νννλ€. λ°°μ΄κ³Ό λ¬λ¦¬ κ°μ κ°μ μ¬λ¬ λ² μ μ₯ν μ μμΌλ©°, κ°μ μμμλ ν° μλ―Έκ° μλ€. μλ₯Ό λ€μ΄ new Set()μΌλ‘ λΉ Setμ λ§λ€ μ μκ³ , \[1, 2, 3]κ³Ό κ°μ λ°°μ΄μ μΈμλ‘ μ λ¬νλ©΄ κ·Έ κ°μ μ΄κΈ°κ°μΌλ‘