async (3) μΈλ€μΌν 리μ€νΈν [JavaScript] HTMLμ JS μ°κ²°νλ λ°©λ² λΉκ΅ / async VS defer μ°¨μ΄μ π½ HTML νμ±μ λν΄μλ μλ ν¬μ€νΈλ₯Ό μ°Έκ³ ν΄μ£ΌμΈμ π½[HTTP] λΈλΌμ°μ λ λλ§ κ³Όμ π Browser Rendering(λΈλΌμ°μ λ λλ§)μ΄λ? μ¬μ©μμ μμ²μ μλ²μ μ λ¬νκ³ κ·Έ κ²°κ³Όλ₯Ό νλ©΄μ λνλ΄λ κ³Όμ μ μλ―Ένλ€. π Parsing(νμ±)μ΄λ? λΈλΌμ°μ κ° μ½λλ₯Ό μ΄ν΄νκ³ μ¬μ©ν μ μλ devjindev.tistory.com 1. head μμ λΆλ¬μ€λ κ²½μ° ββββ 123456789 ... ... cs JSλ₯Ό λΆλ¬μ€λ λμ HTML νμ±μ λ©μΆκ³ , JS λ€ λΆλ¬μ€λ©΄ λλ¨Έμ§ νμ±μ μ§ννκΈ° λλ¬Έμ μ¬μ©μμκ² νμ΄μ§κ° 보μ¬μ§λ μκ°μ΄ λλ μ΄λλ€. 2. body μ(맨 λ)μ λΆλ¬μ€λ κ²½μ° ββββ 123456789 ... ... cs λ¨Όμ HTMLμ λͺ¨λ νμ±νμ¬ μ¬μ©μμκ² νμ΄μ§κ° 보μ¬μ§ ν,.. [JavaScript] ν΄λ‘μ (Closure)λ? π ν΄λ‘μ (Closure)λ? μΌλ°μ μΈ ν¨μμ κ²½μ° ν¨μ νΈμΆμ μν΄ ν¨μ λ΄λΆμ μ€νꡬ문μ λͺ¨λ μ€ννκ² λλ©΄ ν¨μ λ΄λΆμμ λ§λ μ§μ λ³μκ° μλμΌλ‘ μ¬λΌμ§μ§λ§, μ΄λ€ κ²½μ°μλ μ¬λΌμ§μ§ μκ³ λ¨λ κ²½μ°κ° μλλ° μ΄λ¬ν νμμ ν΄λ‘μ λΌκ³ νλ€. ν΄λ‘μ λ μλ° μ€ν¬λ¦½νΈμμ μ€μ²© ν¨μμ λΉλκΈ° λ°©μμ μ¬μ©νμ¬ κ°λ₯νλ°, νΈμΆλ ν¨μ λ΄μμ μΈλΆλ‘ μ΄λνλ λ³μκ° μμΌλ©΄ ν΄λ‘μ ν¨μκ° λμνλ€. 1 2 3 4 5 6 7 8 9 10 11 12 13 // ν¨μ μ μΈ function createCount(){ var count = 0; // λ³μ μ μΈ // 3 β λ³μκ° μ¬λΌμ§μ§ μκ³ λ¨μ π§βοΈβ // μ€μ²© ν¨μ // 4 λ€μ μ΄μλ¨ function addCount(){ count++; // μ²λ¦¬ return.. [JavaScript / λΉλκΈ° μ²λ¦¬] AJAX / Callback, Promise, async, await π λκΈ°(Synchronous) νλ‘κ·Έλλ° vs λΉλκΈ°(Asynchronous) νλ‘κ·Έλλ° λκΈ° νλ‘κ·Έλλ°μ μ½λκ° λ°λμ μμ±λ μμλλ‘ μ€νλλ λ°©μμ΄λ€. λΉλκΈ° νλ‘κ·Έλλ°μ μ½λμ μ²λ¦¬κ° μλ£λ λκΉμ§ κΈ°λ€λ¦¬μ§ μκ³ λ€λ₯Έ μ½λλ₯Ό μ²λ¦¬νλ λ°©μμ΄λ€. π λΉλκΈ° μ²λ¦¬ μ¬λ‘ > AJAX μλ°μ€ν¬λ¦½νΈλ₯Ό μ¬μ©ν λΉλκΈ° ν΅μ μ΄λ©°, ν΄λΌμ΄μΈνΈμ μλ²κ°μ XML λ°μ΄ν°λ₯Ό μ£Όκ³ λ°λ κΈ°μ μ΄λ€. XMLHttpRequest κ°μ²΄λ₯Ό μ΄μ©ν΄μ μ 체 νμ΄μ§λ₯Ό 리λ‘λνμ§ μκ³ νμν λ°μ΄ν°λ§ λ‘λν μ μλ€λ μ₯μ μ΄ μλ€. π λΉλκΈ° μ²λ¦¬ λ°©λ² β > μ½λ°±(Callback) ν¨μ ν¨μ μ€ν κ²°κ³Όκ°μ 리ν΄μ΄ μλ λ§€κ°λ³μλ‘ λμ΄μ¨ ν¨μλ₯Ό νΈμΆνμ¬ λ겨주λ λ°©μμ΄λ€. π μ½λ°± ν¨μ μ¬μ©νλ μ΄μ νΉμ λ‘μ§μ΄ λλ¬μ λ μνλ λμ.. μ΄μ 1 λ€μ