[JavaScript] ์Šค์ฝ”ํ”„

์Šค์ฝ”ํ”„(Scope)๋ž€? ์Šค์ฝ”ํ”„๋Š” ์ง์—ญํ•˜์ž๋ฉด "๋ฒ”์œ„"๋ผ๋Š” ๋œป์ด๊ณ , ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ์—์„œ์˜ ์Šค์ฝ”ํ”„๋Š” ์‹๋ณ„์ž๊ฐ€ ์œ ํšจํ•œ ๋ฒ”์œ„๋ฅผ ๋œปํ•ฉ๋‹ˆ๋‹ค. ๋ณ€์ˆ˜ ์ด๋ฆ„, ํ•จ์ˆ˜ ์ด๋ฆ„, ํด๋ž˜์Šค ์ด๋ฆ„ ๋“ฑ ๋ชจ๋“  ์‹๋ณ„์ž๋Š” ์ž์‹ ์ด ์„ ์–ธ๋œ ์œ„์น˜์— ์˜ํ•ด ๋‹ค๋ฅธ ์ฝ”๋“œ๊ฐ€ ์‹๋ฒฝ์ž ์ž์‹ ์„ ์ฐธ์กฐํ•  ์ˆ˜ ์žˆ๋Š” ์œ ํšจ ๋ฒ”์œ„๊ฐ€ ๊ฒฐ์ •๋˜๋Š”๋ฐ ์ด ์œ ํšจ ๋ฒ”์œ„๊ฐ€ ์Šค์ฝ”ํ”„์ž…๋‹ˆ๋‹ค. // ์ „์—ญ ๋ณ€์ˆ˜ var x = 'global'; function foo() { // ์ง€์—ญ ๋ณ€์ˆ˜ var x = 'local'; console.log(x); // "local" } console.log(x); // "global" ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ ์—”์ง„์€ ์ด๋ฆ„์ด ๊ฐ™์€ ๋‘ ๊ฐœ์˜ ๋ณ€์ˆ˜ ์ค‘์—์„œ ์–ด๋–ค ๋ณ€์ˆ˜๋ฅผ ์ฐธ์กฐํ•ด์•ผ ํ•  ๊ฒƒ์ธ์ง€ ์‹๋ณ„์ž ๊ฒฐ์ •ํ•ด์•ผํ•จ ์Šค์ฝ”ํ”„๋Š” ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ ์—”์ง„์ด ์‹๋ณ„์ž๋ฅผ ๊ฒ€์ƒ‰ํ•  ๋•Œ ์‚ฌ์šฉํ•˜๋Š” ๊ทœ์น™ ์Šค์ฝ”ํ”„ ๋‚ด์—์„œ ..