LexicalEnvironment
-
๐์๋ฐ์คํฌ๋ฆฝํธ 3 | Lexical Environment, Scope Chain์๋ฐ์คํฌ๋ฆฝํธ 2021. 11. 15. 19:01
function a(){ let b = 10; function c(){ console.log(b); } c(); } a(); console.log(b); ์์ ์ฝ๋๊ฐ ์คํ๋ ๋ ์๋ฐ์คํฌ๋ฆฝํธ ์์ง์ด ๋์๊ฐ๋ ๊ณผ์ ์ ๋ค์๊ณผ ๊ฐ๋ค. 1. ๋จผ์ ์ ์ญ ์ค์ฝํ์ ์์นํ๊ณ ์๋ ๋ณ์ a๋ฅผ ๋ด๊ณ , ๋ณ์ a์๋ ์ ์๋์ด์๋ ํจ์๋ฅผ ํ ๋นํ๋ค. 2. ๊ทธ ๋ค์ a ํจ์๊ฐ ํธ์ถ๋๊ณ ์ ์ญ ์ปจํ ์คํธ์์ a๊ฐ ์คํ๋์ด let b = 10 ์ฝ๋๊ฐ ์คํ๋๋ค. 3. ์ด์ call stack memory์ aํจ์๊ฐ ์ ์ฅ๋ ๊ฒ๊ณผ ๋ง์ฐฌ๊ฐ์ง๋ก ์๋ณ์ b์ c๊ฐ callstack์ ์ ์ฅ๋๋ค(b : 10, c : function(){}). 4. ๋ค์ cํจ์๊ฐ ํธ์ถ๋๊ณ console.log(b)๋ฅผ ๋ง๋๋ค. ํ์ฌ ํ์ฑํ ์ํ์ธ c ์ปจํ ์คํธ์์ b๋ฅผ ๊ฒ..