
var๋ ๋จ์ ์ด ๋ง๋ค.
var a = 1;
console.log(a);
var a = 2;
console.log(a);
์ด์ ๊ฐ์ด ๋ณ์์ ์ด๋ฆ์ด ์ค๋ณต์ด ๋์ด๋ ์ค๋ฅ๊ฐ ๋จ์ง ์๋๋ค.
๋ ์ ์ญ๋ณ์์ ์ง์ญ๋ณ์์ ๊ฐ๋
์ด ํ์ค์น ์๋ค. ์ด ๋ง์ด ๋ฌด์จ ๋ง์ด๋๋ฉด var๊ฐ์ ๊ฒฝ์ฐ์๋ ํจ์๋ง ์ง์ญ๋ณ์๋ก ํธ์ด์คํ
์ด ๋๊ณ ๋๋จธ์ง๋ ์ ์ญ๋ณ์๋ก ๋ค ์ฌ๋ ค๋ฒ๋ฆฐ๋ค.
โ ์ง์ญ๋ณ์, ์ ์ญ๋ณ์
- ์ ์ญ๋ณ์ : ๋ธ๋ฝ{} ๋ฐ์์ ์ ์ธ์ ํ ์ด๋์๋ ์ฐ์ผ ์ ์๋ ๋ณ์
- ์ง์ญ๋ณ์ : ๋ธ๋ฝ{} ์์์ ์ ์ธ๋ ๋ณ์, ๋ธ๋ฝ์์์๋ง ์ธ ์ ์๋ค.โ ํธ์ด์คํ
์ฝ๋๊ฐ ์คํ ๋๊ธฐ์ ์ ์๋ฐ์คํฌ๋ฆฝํธ ์์ง์ด ์ ์ธํด๋ ๋ณ์๊ฐ ๋ญ๊ฐ ์๋์ง ์กฐ์ฌ๋ฅผ ํ๋ค.(์ ์ธ๋จ๊ณ) ์ ์ธ๋ ๋ณ์์ ํจ์๋ฅผ ๊ฐ์ ธ๊ฐ์ ๋ฉ๋ชจ๋ฆฌ์ ๊ธฐ์ต์ ํด๋๋ค.(์ด๊ธฐํ๋จ๊ณ) ๊ทธ๋ฌ๋ค๊ฐ ๋๊ตฐ๊ฐ a๋ผ๋ ๋ณ์๋ฅผ ๋ถ๋ฌ๋ด๋ ๊ฐ๋ ์ด๋ค. ์ฆ ์์์๋ ๋ณ์๋ค์ ๋ฒ์์ ์ต ์๋จ์ผ๋ก ๋์ด์ฌ๋ฆฌ๋ ๊ฒ์ด๋ค.console.log(a); var a = 1; var a = 2; console.log(a);์์ ๊ฐ์ด ์ฝ๋๋ฅผ ๋ณด๋ฉด ๊ฒฐ๊ณผ ๊ฐ์ด ์ค๋ฅ๊ฐ ๋ ๊ฒ ๊ฐ์ง๋ง. ๊ฒฐ๊ณผ ๊ฐ์ ๋ณด๋ฉด
๊ทธ๋ฆผ๊ณผ ๊ฐ์ด ์ค๋ฅ๊ฐ ์๋ undefined ๋ผ๊ณ ๋ฌ๋ค. ๊ทธ ์ด์ ๊ฐ ๋ฐ๋ก ํธ์ด์คํ ๋๋ฌธ์ด๋ค.
๋ณ์๊ฐ ์ ์ธ๋ฌ์์ง? ๊ทธ ๋ณ์๋ ์๋๊ฑฐ ์์ ๊ทธ์น๋ง ๊ฐ์ ์ ์ธ์ด ๋์ง ์์์ผ๋ undefinde์ผ. ๋ผ๊ณ ํด์ค๋ค.
์ด var์ ๋จ์ ์ ์ก์์ฃผ๊ณ ์ let์ด๋ผ๋ ๋ณ์๊ฐ ๋์จ ๊ฒ ์ด๋ค.
let๋ ์ค๋ณต ์ ์ธ์ ๋ถ๊ฐ๋ฅํ์ง๋ง ์ฌํ ๋น์ ๊ฐ๋ฅํ๋ค.