scope
๋ณ์๊ฐ ์ ์ธ๋๊ณ ์ฌ์ฉํ ์ ์๋ ๊ณต๊ฐ.
๋ณ์๊ฐ ์ด๋๊น์ง ์ฐ์ผ ์ ์๋๊ฐ
์ ์ธํด๋ ๊ทธ ์ ์ธํ ์์ญ์ ์ ๊ทผํ ์๊ฐ ์์ ๋ is not defined ๋์ฌ ์ ์๋ค.
์ด๋ค ๋ณ์๋ ์ฌ๊ธฐ์ ๊ธฐ ์ธ ์ ์๋๋ฐ, ์ด๋ค ๋ณ์๋ ํน์ ํจ์ ์์์๋ง ์ธ ์ ์์.
block
block ์ {} ๋ก ๊ฐ์ธ์ง ๊ฒ.
for if ๋ฌธ ๊ฐ์๋ฐ ์ผ๋ ๊ฒ๋ค
block ๋ด๋ถ์์ ์ ์๋ ๋ณ์๋ ๊ทธ ์์์๋ง ์ธ ์ ์์
์ด๋ฅผlocal variable
๋ผ๊ณ ๋ถ๋ฅธ๋ค.
block ๋ฐ์ธ global scope์์ ๋ง๋ ๋ณ์๋ฅผ global variable(์ ์ญ๋ณ์)๋ผ๊ณ ํ๋ค.
๊ทธ๋ฅ ์ฐ์ด๋ ์ฉ์ด๋ค !
global scope : ์ ์ญ ๋ฒ์
block scope : ์ค๊ดํธ ์์ ๋ฒ์
global namespace : ์ ์ญ ๋ณ์๋ฅผ ์ฌ์ฉํ ์ ์๋ ๋ฒ์
scope pollution : ์ ์ญ ๋ณ์๋ฅผ ๋จ์ฉํ์ฌ ๊ฐ์ด ์์ ๋ ๊ฒฝ์ฐ
์์ฝํ๋ฉด, blocks scope๋ฅผ ๋ง์ด ์ฐ๊ณ , gloobal scope๋ ์ต๋ํ ์ค์ด๋ ค๊ณ ํ๋๊ฒ ์ข๋ค.
block ์์์ ์ญํ ํ๊ณ ๋ซํ ๋ ์๋ช
์ด ๋คํ๋ ๋ณ์๊ฐ ์ข์ ๋ฒ์.