[JS] ๋ ์์ปฌ ์ค์ฝํ(Lexical Scope) ๋??
ยท
๐ STUDY/JavaScript
์ค์ฝํ๋?์ค์ฝํ(Scope)๋, ์ ํจ๋ฒ์๋ ๋ป์ผ๋ก ์๋ฐ์คํฌ๋ฆฝํธ๋ฅผ ํฌํจํ ๋ชจ๋ ํ๋ก๊ทธ๋๋ฐ ์ธ์ด์์ ์ฌ์ฉํ๋ ์ค์ํ ๊ฐ๋
์
๋๋ค. ์ค์ฝํ์ ๊ฐ๋
์ ์ ์์์ผ ์๋ฐ์คํฌ๋ฆฝํธ์ let, const์ var ์ ์ธ์์ ์ฐจ์ด ๋ฑ์ ์ดํดํ๋๋ฐ ์ด๋ ค์์ ๋ ์ ์์ต๋๋ค. [์ถ๊ฐ ๊ธ ์์ฑ ์์ ์
๋๋ค.] ์ค์ฝํ์ ์ข
๋ฅ์ฝ๋๋ ํฌ๊ฒ ๋ ๊ฐ์ง์ ์ค์ฝํ๋ก ๊ตฌ๋ถํ ์ ์์ต๋๋ค. ์ฝ๋์ ๊ฐ์ฅ ๋ฐ๊นฅ ์์ญ, ์ ์ญ ์ค์ฝํํจ์ ๋ชธ์ฒด ๋ด๋ถ ์์ญ, ์ง์ญ ์ค์ฝํ ๊ฐ๋จํ ์์ ๋ฅผ ์ดํด๋ณด๋ฉด, ์์ ์ฝ๋ ๋ด๋ถ์ ์์ ๊ฐ์ ์ค์ฝํ๊ฐ ์๋ ๊ฒ์ ๋ณผ ์ ์์ต๋๋ค. [์ถ๊ฐ ๊ธ ์์ฑ ์์ ์
๋๋ค.] ๋ ์์ปฌ ์ค์ฝํ์๋ ์ฝ๋๋ฅผ ์์ธก ํด๋ณด๋ ค๊ณ ํฉ๋๋ค. ์ ์ ์คํฌ๋กค์ ๋ฉ์ถ๊ณ ์๊ฐํด๋ณด๊ธธ ๊ถํด๋๋ฆฝ๋๋ค.var x = 1;function foo() { var x = 10; ..