Notice
Recent Posts
Recent Comments
Link
ยซ   2025/06   ยป
์ผ ์›” ํ™” ์ˆ˜ ๋ชฉ ๊ธˆ ํ† 
1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30
Archives
Today
Total
๊ด€๋ฆฌ ๋ฉ”๋‰ด

eazyseon

14์žฅ ์ „์—ญ ๋ณ€์ˆ˜์˜ ๋ฌธ์ œ์  ๋ณธ๋ฌธ

๐Ÿ“•์ฑ…/๋”ฅ๋‹ค์ด๋ธŒ

14์žฅ ์ „์—ญ ๋ณ€์ˆ˜์˜ ๋ฌธ์ œ์ 

eazyseon 2023. 11. 20. 23:46
๋ฐ˜์‘ํ˜•

14.1 ๋ณ€์ˆ˜์˜ ์ƒ๋ช… ์ฃผ๊ธฐ

์ „์—ญ ๋ณ€์ˆ˜์˜ ์ƒ๋ช… ์ฃผ๊ธฐ๋Š” ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์˜ ์ƒ๋ช… ์ฃผ๊ธฐ์™€ ๊ฐ™๋‹ค.

ํ•จ์ˆ˜ ๋‚ด๋ถ€์—์„œ ์„ ์–ธ๋œ ์ง€์—ญ ๋ณ€์ˆ˜๋Š” ํ•จ์ˆ˜๊ฐ€ ํ˜ธ์ถœ๋˜๋ฉด ์ƒ์„ฑ๋˜๊ณ  ์ข…๋ฃŒํ•˜๋ฉด ์†Œ๋ฉธํ•œ๋‹ค.

function foo(){
  var x = 'local';//๋ณ€์ˆ˜ x ์ƒ์„ฑ,ํ• ๋‹น
  console.log(x);
  return x;//๋ณ€์ˆ˜ x ์†Œ๋ฉธ
}

foo();
console.log(x)//ReferenceError: x is not defined

 

์ง€์—ญ ๋ณ€์ˆ˜์˜ ์ƒ๋ช… ์ฃผ๊ธฐ๋Š” ํ•จ์ˆ˜์˜ ์ƒ๋ช… ์ฃผ๊ธฐ์™€ ์ผ์น˜ํ•œ๋‹ค. 

var x = 'global';

function foo(){
  console.log(x);//undefined
  var x = 'local';
}

foo();
console.log(x)//'global'

 

์œ„ ์˜ˆ์ œ๋ฅผ ํ†ตํ•ด ํ˜ธ์ด์ŠคํŒ…์€ ์Šค์ฝ”ํ”„ ๋‹จ์œ„๋กœ ๋™์ž‘ํ•˜๋Š” ๊ฒƒ์„ ์•Œ ์ˆ˜ ์žˆ๋‹ค. 

 

14.2 ์ „์—ญ ๋ณ€์ˆ˜์˜ ๋ฌธ์ œ์ 

- ์ „์—ญ ๋ณ€์ˆ˜๋ฅผ ์„ ์–ธํ•œ ์˜๋„๋Š” ์ฝ”๋“œ ์–ด๋””์„œ๋“  ๋ณ€์ˆ˜๋ฅผ ์ฐธ๊ณ ํ•˜๊ณ  ๋ณ€๊ฒฝํ•  ์ˆ˜ ์žˆ๋‹ค๋Š” ์•”๋ฌต์  ๊ฒฐํ•ฉ์„ ํ—ˆ์šฉํ•˜๋Š” ๊ฒƒ์ด๋‹ค. 

- ์ „์—ญ ๋ณ€์ˆ˜๋Š” ์ƒ๋ช… ์ฃผ๊ธฐ๊ฐ€ ๊ธธ์–ด ๋ฉ”๋ชจ๋ฆฌ๋„ ์˜ค๋žœ ๊ธฐ๊ฐ„ ์†Œ๋น„ํ•œ๋‹ค. 

- ์Šค์ฝ”ํ”„ ์ฒด์ธ ์ƒ์—์„œ ์ข…์ ์— ์กด์žฌํ•˜๋ฏ€๋กœ ๊ฒ€์ƒ‰ ์†๋„๊ฐ€ ๊ฐ€์žฅ ๋А๋ฆฌ๋‹ค. 

- ๋„ค์ž„์ŠคํŽ˜์ด์Šค ์˜ค์—ผ(๋‹ค๋ฅธ ํŒŒ์ผ ๋‚ด์—์„œ ๋™์ผํ•œ ์ด๋ฆ„์œผ๋กœ ๋ช…๋ช…๋˜์—ˆ์„ ๊ฒฝ์šฐ๊ฐ€ ๋ฐœ์ƒํ•  ์ˆ˜ ์žˆ๋‹ค.)

 

14.3 ์ „์—ญ ๋ณ€์ˆ˜์˜ ์‚ฌ์šฉ์„ ์–ต์ œํ•˜๋Š” ๋ฐฉ๋ฒ•

๋ณ€์ˆ˜์˜ ์Šค์ฝ”ํ”„๋ฅผ ์ข์„์ˆ˜๋ก ์ข‹๋‹ค. 

- ์ฆ‰์‹œ ์‹คํ–‰ ํ•จ์ˆ˜

์ฆ‰์‹œ ์‹คํ–‰ ํ•จ์ˆ˜๋กœ ๊ฐ์‹ธ๋ฉด ๋ชจ๋“  ๋ณ€์ˆ˜๋Š” ์ฆ‰์‹œ ์‹คํ–‰ ํ•จ์ˆ˜์˜ ์ง€์—ญ ๋ณ€์ˆ˜๊ฐ€ ๋œ๋‹ค. 

- ๋„ค์ž„์ŠคํŽ˜์ด์Šค ๊ฐ์ฒด (๊ฐ์ฒด๋ฅผ ์ƒ์„ฑํ•˜๊ณ  ์ „์—ญ ๋ณ€์ˆ˜์ฒ˜๋Ÿผ ์‚ฌ์šฉํ•˜๊ณ  ์‹ถ์€ ๋ณ€์ˆ˜๋ฅผ ํ”„๋กœํผํ‹ฐ๋กœ ์ถ”๊ฐ€ํ•˜๋Š” ๋ฐฉ๋ฒ•์ด๋‹ค.)

var MYAPP = {};

MYAPP.name = 'Lee';

console.log(MYAPP.name)//Lee

 

- ๋ชจ๋“ˆ ํŒจํ„ด 

 

- ES6 ๋ชจ๋“ˆ

ํŒŒ์ผ ์ž์ฒด์˜ ๋…์ž์ ์ธ ๋ชจ๋“ˆ ์Šค์ฝ”ํ”„๋ฅผ ์ œ๊ณตํ•œ๋‹ค. 

๋ฐ˜์‘ํ˜•
Comments