π μ€ν 컨ν μ€νΈμ μ½ μ€ν
π 1. Execution context(μ€ν 컨ν μ€νΈ)μ μ μ
μλ°μ€ν¬λ¦½νΈ μ½λκ° μ€νλλ νκ²½μ μλ―Ένλ€.
μλ°μ€ν¬λ¦½νΈμμ λνμ μΌλ‘ λ κ°μ§ νμ μ Execution contextκ° μλ€.
μ€νν μ½λμ μ 곡ν νκ²½ μ 보λ€μ λͺ¨μλμ κ°μ²΄λ€λ‘
μλ°μ€ν¬λ¦½νΈμ λμ μΈμ΄λ‘μμ μ±κ²©μ κ°μ₯ μ νμ
ν μ μλ κ°λ
μ΄λ€.
βΆοΈ Global Execution context
βΆοΈ Function Execution context
βΆοΈ μλ°μ€ν¬λ¦½νΈλ μ€ν 컨ν μ€νΈκ° νμ±νλλ μμ μ λ€μκ³Ό κ°μ νμμ΄ λ°μνλ€.
π 2. μ½μ€ν(call stack)μ μ μ
μ½λκ° μ€νλλ©΄μ μμ±λλ Execution Contextλ₯Ό μ μ₯νλ μλ£κ΅¬μ‘°
μμ§μ΄ μ²μ scriptλ₯Ό μ€νν λ, Global Execution Contextλ₯Ό μμ±νκ³ μ΄λ₯Ό Call Stackμ pushνλ€.
κ·Έ ν μμ§μ΄ ν¨μλ₯Ό νΈμΆν λ λ§λ€ ν¨μλ₯Ό μν Execution Contextλ₯Ό μμ±νκ³ μ΄λ₯Ό Call Stackμ push νλ€.
μλ°μ€ν¬λ¦½νΈ μμ§μ Call Stackμ Topμ μμΉν ν¨μλ₯Ό μ€ννλ©° ν¨μκ° μ’ λ£λλ©΄ stackμμ μ κ±°(pop)νκ³ μ μ΄λ₯Ό λ€μ Topμ μμΉν ν¨μλ‘ μ΄λνλ€.
=> 1μ€ μμ½ : νλ‘κ·Έλ¨μ΄ ν¨μ νΈμΆμ μΆμ ν λ μ¬μ©νλ€.