test
๐ const์ let, var์ ์ฐจ์ด์ ์?โ
var์ ํจ์ ๋ ๋ฒจ ์ค์ฝํ๋ฅผ ๋ฐ๋ฅด๊ธฐ ๋๋ฌธ์ ์ ์ญ์์ ์ฐธ์กฐํ ์ ์๊ณ , let์ ๋ธ๋ก ๋ ๋ฒจ ์ค์ฝํ๋ฅผ ๋ฐ๋ฅด๊ธฐ ๋๋ฌธ์ ์ฝ๋ ๋ธ๋ญ ๋ด์ ์ง์ญ๋ณ์๋ก๋ง ์ฐธ์กฐํ ์ ์์ต๋๋ค.
var๋ก ์ ์ธํ ์ ์ธ๋ฌธ์ ์ ์ธ์ ์ ์ฐธ์กฐํด๋ ์๋ฌ๋ฅผ ๋ฐํํ์ง ์๊ณ undefined๋ฅผ ๋ฐํํ์ง๋ง, let์ ์ ์ธ๋ฌธ์ ์ ์ฐธ์กฐํ๋ฉด reference error๊ฐ ๋ฐํ๋ฉ๋๋ค. ์ด๋ฌํ ์ด์ ๋ฅผ ์คํ ์ปจํ
์คํธ ๊ด์ ์์ ์ค๋ช
ํ์๋ฉด, var์ ๋ณ์์ ์ ์ธ๊ณผ ์ด๊ธฐํ๊ฐ ๋์์ ์ผ์ด๋๊ธฐ ๋๋ฌธ์
๋๋ค. ์ฆ, ์ค์ฝํ์ ๋ณ์๊ฐ ๋ฑ๋ก์ด ๋๊ณ ๋ณ์๋ฅผ ์ํ ๋ฉ๋ชจ๋ฆฌ๋ฅผ ํ ๋นํ๊ณ undefined๋ก ์ด๊ธฐํ๊ฐ ๋๊ธฐ ๋๋ฌธ์ ์๋ฌ๊ฐ ๋์ง ์๋ ๊ฒ์
๋๋ค. ํ์ง๋ง, let๊ฐ์ ๊ฒฝ์ฐ์๋ ์ค์ฝํ์ ๋ณ์๊ฐ ๋ฑ๋ก์ด ๋์ง๋ง, ๋ณ์๋ฅผ ์ํ ๋ฉ๋ชจ๋ฆฌ๋ ํ ๋น์ด ๋์ง ์๊ธฐ ๋๋ฌธ์ reference error๊ฐ ๋ฐ์ํ๊ฒ ๋๋ ๊ฒ์ด๊ณ let์ ์ฌ์ฉํ ๋ณ์์ ์ ์ธ๋ฌธ์ ๋ง๋ ๊ทธ ๋์ ๋ณ์์ ์ด๊ธฐํ ๊ณผ์ ์ด ์ผ์ด๋ฉ๋๋ค. ์ด๋ฌํ ์ค์ฝํ์ ์ต ์๋จ๋ถํฐ ๋ณ์์ ์ ์ธ๋ฌธ์ ๋ง๋๊ธฐ์ ๊น์ง์ ๊ณต๊ฐ์ TDZ(์ผ์์ ์ฌ๊ฐ์ง๋)๋ผ๊ณ ํฉ๋๋ค.
const๋ ๋ณ์์ ์ ์ธ๊ณผ ๋์์ ํ ๋น์ด ์ด๋ฃจ์ด์ ธ์ผ ํฉ๋๋ค. ์ฆ, let๊ณผ var์ฒ๋ผ ์ฌํ ๋น์ด ๋ถ๊ฐ๋ฅํฉ๋๋ค.
๐ ํธ์ด์คํ ์ด๋โ
ํธ์ด์คํ ์ด๋ ๊ฐ๋ ์ ์ผ๋ก ์ฝ๋๋ฅผ ํด์ํ๊ธฐ ์ฝ๊ฒ ์ฝ๋๋ฅผ ๋์ด์ฌ๋ฆฐ๋ค๊ณ ํด์ํ ์ ์์ต๋๋ค. ์ฌ๊ธฐ์ ๋ณ์์ ์ ์ธ๋ง ํธ์ด์คํ ์ด ์ด๋ฃจ์ด์ง๊ณ ํ ๋น๋ฌธ์ ๊ทธ๋๋ก ๊ทธ ์๋ฆฌ์ ์์นํ๊ฒ ๋ฉ๋๋ค. ๊ทธ๋ฆฌ๊ณ ์ฌ๊ธฐ์ ํจ์ ์ ์ธ๋ฌธ๊ณผ ํจ์ ํํ์์ ์ฐจ์ด๋ฅผ ์ ์ ์๋๋ฐ ํจ์ ์ ์ธ๋ฌธ์ ์์ด ์๋๊ธฐ ๋๋ฌธ์ ํจ์ ์์ฒด๋ฅผ ํธ์ด์คํ ํ์ง๋ง, ํจ์ ํํ์์ ์ ์ธ๊ณผ ํ ๋น๋ฌธ์ด ๋ฐ๋ก ์กด์ฌํ๊ธฐ ๋๋ฌธ์ ํจ์ ํํ์์ ์ ์ธ๋ถ๋ง ํธ์ด์คํ ์ด ์ด๋ฃจ์ด์ง๊ณ ํ ๋น๋ถ๋ ๊ทธ์๋ฆฌ์ ์ ์งํ๊ฒ ๋ฉ๋๋ค.