μ€ν¬λ¦½νΈμμ μλ¬κ° λ°μνλ©΄ μ€νμ λ³΄κ° μ¦μ μ¬λΌμ§κ³ μ½μμ μλ¬κ° λ°μνλ€. κ·ΈμΉλ§ try, catch λ¬Έλ²μ μ¬μ©νλ©΄ μ€νμ λ³΄κ° μ¬λΌμ§λκ±Έ λ°©μ§νκ³ μλ¬λ₯Ό μ‘μλΌ μ μλ€. try, catch λ¬Έλ²μ flowλ μλμ κ°λ€.try{ ...μ½λ}μ μ½λκ° μ€νλλ€.
μλ°μ€ν¬λ¦½νΈλ λΉλκΈ° μ²λ¦¬λ₯Ό μν νλμ ν¨ν΄μΌλ‘ μ½λ°±ν¨μλ₯Ό μ¬μ©νλ€. νλ‘λ―Έμ€λ μλ°μ€ν¬λ¦½νΈ λΉλκΈ° μ²λ¦¬μ μ¬μ© λλ κ°μ²΄μ΄λ€.(β λΉλκΈ° μ²λ¦¬ : νΉμ μ½λμ μ€νμ΄ μλ£λ λκΉμ§ κΈ°λ€λ¦¬μ§ μκ³ λ€μ μ½λλ₯Ό λ¨Όμ μννλ μλ°μ€ν¬λ¦½νΈμ νΉμ±)μλλ λΉλκΈ°μ²λ¦¬λ₯Ό μν΄
async / awaitλ κ°λ¨νκ³ κ°λ μ± μ’κ² λΉλκΈ° μ²λ¦¬λ₯Ό λμνλλ‘ κ΅¬νν μ μκ³ νλ‘λ―Έμ€λ₯Ό κΈ°λ°μΌλ‘ λμνλ€.async / awaitλ₯Ό μ¬μ©νλ©΄ then / catch / finally μ κ°μ νμ μ²λ¦¬ λ©μλμ μ½λ°± ν¨μλ₯Ό μ λ¬ν΄μ λΉλκΈ° μ²λ¦¬ κ²°κ³Όλ₯Ό νμ
μλ°μ€ν¬λ¦½νΈμ reduce() λ©μλλ λ°°μ΄μ κ° μμμ λν΄ μ½λ°± ν¨μλ₯Ό μ€ννμ¬ νλμ κ°μΌλ‘ μ€μ΄λ κΈ°λ₯μ μ 곡νκ³ λ°°μ΄μ μννλ©΄μ λμ κ°μ κ³μ°νκ±°λ λ³ννλλ° μ£Όλ‘ μ¬μ©λλ€.μ½λ°± ν¨μλ λ€ κ°μ μΈμλ₯Ό λ°λλ€.accumulator (λμ°κΈ°): μ½λ°± ν¨μμ λ°
β λ°μ΄ν° νμ λ°μ΄ν°μ νμ μλ ν¬κ² λκ°μ§κ° μλ€. κΈ°λ³Έν : number, string, boolean, null, undefined, symbol λ± μ°Έμ‘°ν : object, array, function, date, regexp λ± μΌλ°μ μΌλ‘ κΈ°λ³Ένμ ν λΉμ΄λ
μ€ν 컨ν μ€νΈλ μ€νν μ½λμ μ 곡ν νκ²½ μ 보λ€μ λͺ¨μ λμ κ°μ²΄μ΄λ€. μλ°μ€ν¬λ¦½νΈλ μ΄λ€ μ€ν 컨ν μ€νΈκ° νμ±νλλ μμ μ νΈμ΄μ€ν μ΄ μΌμ΄λκ³ , μΈλΆ νκ²½ μ 보λ₯Ό ꡬμ±νκ³ , thisμ κ°μ μ€μ νλ λμμ μννλ€.μ€ν : μΆμ κ΅¬κ° νλλΏμΈ κΉμ μ°λ¬Ό κ°μ λ°μ΄ν°
π‘ thisλ ν¨μλ₯Ό νΈμΆν λ κ²°μ λλ€!βοΈ μ μ곡κ°μμ thisλ μ μκ°μ²΄λ₯Ό κ°λ₯΄ν¨λ€. κ°λ μ μ μ 컨ν μ€νΈλ₯Ό μμ±νλ μ£Όμ²΄κ° λ°λ‘ μ μ κ°μ²΄μ΄κΈ° λλ¬Έμ΄λ€.μλ°μ€ν¬λ¦½νΈμ λͺ¨λ λ³μλ νΉμ κ°μ²΄μ νλ‘νΌν°λ‘μ λμνκΈ°λλ¬Έμ varμ°μ°μλ₯Ό μ¬μ©ν΄ λ³μλ₯Ό μ μΈνλ©΄ win
π₯ ν΄λ‘μ λ μ΄λ€ ν¨μAμμ μ μΈν λ³μaλ₯Ό μ°Έμ‘°νλ λ΄λΆν¨μBλ₯Ό μΈλΆλ‘ μ λ¬ν κ²½μ° Aμ μ€ν 컨ν μ€νΈκ° μ’ λ£λ μ΄νμλ λ³μaκ° μ¬λΌμ§μ§ μλ νμμ λ§νλ€.μ΄λ€ ν¨μμμ μ μΈν λ³μλ₯Ό μ°Έμ‘°νλ λ΄λΆν¨μμμλ§ λ°μνλ νμμ΄, μ΄λ§μ βοΈμΈλΆ ν¨μμ λ μ컬νκ²½μ΄
μλ°μ€ν¬λ¦½νΈλ νλ‘ν νμ κΈ°λ° μΈμ΄μ΄λ€. ν΄λμ€ κΈ°λ° μΈμ΄μμλ 'μμ'μ μ¬μ©νμ§λ§ νλ‘ν νμ κΈ°λ°μ μΈμ΄μμλ μ΄λ€ κ°μ²΄λ₯Ό μνμΌλ‘ μΌκ³ μ΄λ₯Ό 볡μ (μ°Έμ‘°)ν¨μΌλ‘μ¨ μμκ³Ό λΉμ·ν ν¨κ³Όλ₯Ό μ»λλ€.μ λ‘λμ€..μμ±μν¨μ(Constructor)λ₯Ό new μ°μ°μμ ν¨κ» νΈμΆν