[JavaScript] Scope
์นดํ
๊ณ ๋ฆฌ : ํ๋ก๊ทธ๋๋ฐ ์ธ์ด
ํ๊ทธ: javascript · ๋ณ์ · ์ค์ฝํ · ํ ๋น · ์ง์ญ๋ณ์ · ์ ์ญ๋ณ์
ํ๊ทธ: javascript · ๋ณ์ · ์ค์ฝํ · ํ ๋น · ์ง์ญ๋ณ์ · ์ ์ญ๋ณ์
1. Scope
์ด๋ค ํจ์์ ๋ฐ๊นฅ์ ๋ณ์๋ฅผ ์ ์ธํ๋ฉด, ํ์ฌ ๋ฌธ์์ ๋ค๋ฅธ ์ฝ๋์ ํด๋น ๋ณ์๋ฅผ ์ฌ์ฉํ ์ ์๊ธฐ์ ์ ์ญ ๋ณ์๋ผ๊ณ ํฉ๋๋ค. ๋ง์ฝ ํจ์ ๋ด๋ถ์ ๋ณ์๋ฅผ ์ ์ธํ๋ฉด, ์ค์ง ๊ทธ ํจ์ ๋ด์์๋ง ์ฌ์ฉํ ์ ์๊ธฐ์ ์ง์ญ ๋ณ์๋ผ๊ณ ๋ถ๋ฆ ๋๋ค.
ECMAScript 2015 ์ด์ ์ JavaScript๋ย ๋ธ๋ก ๋ฌธย ์ค์ฝํ๊ฐ ์์ต๋๋ค. ๊ทธ๋์ ์คํ๋ ค, ๋ธ๋ก ๋ด์ ์ ์ธ๋ ๋ณ์๋ ๊ทธ ๋ธ๋ก ๋ด์ ์กด์ฌํ๋ ํจ์(ํน์ ์ ์ญ ์ค์ฝํ)์ ์ง์ญ์ ์ ๋๋ค.
- ์ง์ญ ๋ณ์ : [] ์์ ํ๋ฒ๋ง ์ ์ธ, ํด๋น []์์์๋ง ์ฌ์ฉ ๊ฐ๋ฅ
์ ์ญ ๋ณ์ : [] ๋ฐ์ ํ๋ฒ๋ง ์ ์ธ, ๋ชจ๋ []์ ์ฌ์ฉ ๊ฐ๋ฅ
- ์ ์ธ์ ์๋ต์ ๋ณ์๋ง ์ฌ์ฉํ๋ฉด ์ ์ญ ๋ณ์๊ฐ ๋๋ค
let num = 100;
num = 500; // ์ฌํ ๋น ๊ฐ๋ฅ
{
let num = 200; // ์ฌํ ๋น
console.log(num) => 200
{
let num = 300; // ์ฌํ ๋น
console.log(num); => 300
{
let num = 400; // ์ฌํ ๋น
console.log(num) => 400
}
console.log(num); => 300
}
console.log(num); => 200
}
console.log(num); => 500