๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ

์Šค์ฝ”ํ”„์ฒด์ธ1

[JavaScript] ์Šค์ฝ”ํ”„ ์ฒด์ธ์ด๋ž€? ์Šค์ฝ”ํ”„๋ž€? ๋ณ€์ˆ˜(์‹๋ณ„์ž)์˜ ์œ ํšจ ๋ฒ”์œ„๋ฅผ ๋œปํ•œ๋‹ค. ์Šค์ฝ”ํ”„(Scope)๋Š” ๋ณ€์ˆ˜๊ฐ€ ์–ด๋””์„œ, ์–ด๋–ป๊ฒŒ ์„ ์–ธ๋˜์—ˆ๋Š”์ง€์— ๋”ฐ๋ผ ๊ทธ ๋ณ€์ˆ˜์˜ ์œ ํšจํ•œ ๋ฒ”์œ„๊ฐ€ ๊ฒฐ์ •๋˜๋Š” ๊ทœ์น™์ด๊ธฐ๋„ ํ•˜๋ฉฐ, ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ์—์„œ๋Š” ์ด ๊ทœ์น™์— ๋”ฐ๋ผ ์ฐธ์กฐ์˜ ๋Œ€์ƒ์ด ๋˜๋Š” ๋ณ€์ˆ˜๋ฅผ ํƒ์ƒ‰ํ•ด๋‚˜๊ฐ„๋‹ค. (→ ๊ทธ๊ฒƒ์„ Scope Chain) ๐Ÿ”—์Šค์ฝ”ํ”„์ฒด์ธ? ์ž๋ฐ”์Šค ํฌ๋ฆฝํŠธ ES2015๊ธฐ์ค€์œผ๋กœ ํ™•๋ฐ”๋€œ ์˜ˆ์ „์—” ํ•จ์ˆ˜๊ฐ€ ๊ธฐ์ค€์ด์˜€๋Š”๋ฐ ์š”์ฆ˜์—” ๋ธ”๋ก์ด ๊ธฐ์ค€์ด๋‹ค( ํ•จ์ˆ˜๋„ ๋‹คํ–‰ํžˆ ๋ธ”๋ก์„ ๊ฐ€์ง€๊ณ  ์žˆ๋‹ค ) ์Šค์ฝ”ํ”„ ์ฒด์ธ(Scope Chain)์€ ์ผ์ข…์˜ ๋ฆฌ์ŠคํŠธ๋กœ์„œ ์ „์—ญ ๊ฐ์ฒด์™€ ์ค‘์ฒฉ๋œ ํ•จ์ˆ˜์˜ ์Šค์ฝ”ํ”„์˜ ๋ ˆํผ๋Ÿฐ์Šค๋ฅผ ์ฐจ๋ก€๋กœ ์ €์žฅํ•˜๊ณ , ์˜๋ฏธ ๊ทธ๋Œ€๋กœ ๊ฐ๊ฐ์˜ ์Šค์ฝ”ํ”„๊ฐ€ ์–ด๋–ป๊ฒŒ ์—ฐ๊ฒฐ(chain)๋˜๊ณ  ์žˆ๋Š”์ง€ ๋ณด์—ฌ์ฃผ๋Š” ๊ฒƒ ์„ ๋งํ•œ๋‹ค. ์œ ํšจ ๋ฒ”์œ„๋ฅผ ๋‚˜ํƒ€๋‚ด๋Š” ์Šค์ฝ”ํ”„๊ฐ€ scope ํ”„๋กœํผํ‹ฐ๋กœ ๊ฐ ํ•จ์ˆ˜ ๊ฐ์ฒด ๋‚ด์—์„œ ์—ฐ๊ฒฐ๋ฆฌ์ŠคํŠธ.. 2022. 11. 9.