์ฝ”๋”ฉ๊ณต๋ถ€ 1

[javascript/jQuery] var, let, const ์ฐจ์ด์™€ ์‚ฌ์šฉ๋ฒ•

์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ์—์„œ ๋ณ€์ˆ˜๋ฅผ ์„ ์–ธํ•  ๋•Œ var, let, const๋ฅผ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ํ•˜์ง€๋งŒ ๊ฐ๊ฐ์˜ ์ฐจ์ด๋ฅผ ์ œ๋Œ€๋กœ ์ดํ•ดํ•˜์ง€ ๋ชปํ•˜๋ฉด ์ฝ”๋“œ์—์„œ ์˜ˆ์ƒ์น˜ ๋ชปํ•œ ์˜ค๋ฅ˜๊ฐ€ ๋ฐœ์ƒํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์˜ค๋Š˜์€ ์ด ์„ธ ๊ฐ€์ง€ ๋ณ€์ˆ˜ ์„ ์–ธ ๋ฐฉ์‹์˜ ์ฐจ์ด๋ฅผ ๋ช…ํ™•ํžˆ ๋น„๊ตํ•˜๊ณ , ์–ธ์ œ ์–ด๋–ค ๋ฐฉ์‹์„ ์‚ฌ์šฉํ•ด์•ผ ํ•˜๋Š”์ง€ ์•Œ๋ ค๋“œ๋ฆฌ๊ฒ ์Šต๋‹ˆ๋‹ค.var, let, const์˜ ๊ธฐ๋ณธ ๊ฐœ๋…1๏ธโƒฃ varES6 ์ด์ „๋ถ€ํ„ฐ ์‚ฌ์šฉ๋œ ์ „ํ†ต์ ์ธ ๋ณ€์ˆ˜ ์„ ์–ธ ๋ฐฉ์‹์ž…๋‹ˆ๋‹ค.ํ•จ์ˆ˜ ์Šค์ฝ”ํ”„(Function Scope)๋ฅผ ๊ฐ€์ง๋ณ€์ˆ˜ ์žฌ์„ ์–ธ์ด ๊ฐ€๋Šฅํ˜ธ์ด์ŠคํŒ…(hoisting) ๋ฐœ์ƒ์˜ˆ๊ธฐ์น˜ ์•Š์€ ๊ฐ’ ๋ณ€๊ฒฝ ์œ„ํ—˜์ด ์žˆ์Œ2๏ธโƒฃ letES6์—์„œ ๋„์ž…๋œ ๋ณ€์ˆ˜ ์„ ์–ธ ๋ฐฉ์‹๋ธ”๋ก ์Šค์ฝ”ํ”„(Block Scope)๋ฅผ ๊ฐ€์ง๋ณ€์ˆ˜ ์žฌ์„ ์–ธ ๋ถˆ๊ฐ€๋Šฅํ•˜์ง€๋งŒ, ๊ฐ’ ๋ณ€๊ฒฝ์€ ๊ฐ€๋Šฅํ˜ธ์ด์ŠคํŒ… ๋ฐœ์ƒํ•˜์ง€๋งŒ ์ดˆ๊ธฐํ™”๋˜์ง€ ์•Š์Œ (Temporal Dea..