global

global

Node.js์˜ global ๊ฐ์ฒด๋Š” ๋ชจ๋“  ๋ชจ๋“ˆ์—์„œ ์ ‘๊ทผ ๊ฐ€๋Šฅํ•œ ์ „์—ญ ๊ฐ์ฒด์ž…๋‹ˆ๋‹ค.
์ด ๊ฐ์ฒด๋Š” ๋ชจ๋“  ๋ชจ๋“ˆ์—์„œ ๊ณต์œ ๋˜๋ฉฐ, ๋ชจ๋“ˆ ๋‚ด์—์„œ ์„ ์–ธํ•˜์ง€ ์•Š๊ณ  ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋Š” ๋‹ค์–‘ํ•œ ์†์„ฑ๊ณผ ๋ฉ”์„œ๋“œ๋ฅผ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด, console ๊ฐ์ฒด๋‚˜ setTimeout() ํ•จ์ˆ˜๋Š” global ๊ฐ์ฒด์— ์†ํ•ด ์žˆ์Šต๋‹ˆ๋‹ค.
global ๊ฐ์ฒด๋ฅผ ์‚ฌ์šฉํ•  ๋•Œ์—๋Š” ์ฃผ์˜ํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. ์ „์—ญ ๋ณ€์ˆ˜์™€ ํ•จ์ˆ˜๋Š” ์ฝ”๋“œ์˜ ๊ฐ€๋…์„ฑ๊ณผ ์œ ์ง€ ๋ณด์ˆ˜์„ฑ์„ ์ €ํ•˜์‹œํ‚ฌ ์ˆ˜ ์žˆ์œผ๋ฏ€๋กœ, ๊ฐ€๋Šฅํ•œ ํ•œ ์ง€์—ญ ๋ณ€์ˆ˜์™€ ํ•จ์ˆ˜๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ๊ฒƒ์ด ์ข‹์Šต๋‹ˆ๋‹ค. ๊ทธ๋Ÿฌ๋‚˜ ํŠน์ •ํ•œ ์ƒํ™ฉ์—์„œ ์ „์—ญ ๊ฐ์ฒด์˜ ๊ธฐ๋Šฅ์ด ํ•„์š”ํ•  ์ˆ˜ ์žˆ์œผ๋‹ˆ ์ ์ ˆํ•˜๊ฒŒ ํ™œ์šฉํ•˜์‹œ๊ธฐ ๋ฐ”๋ž๋‹ˆ๋‹ค.
์ฃผ์˜: ์ฝ”๋“œ์˜ ์ „์—ญ ๊ณต๊ฐ„์—์„œ ๋ณ€์ˆ˜๋ฅผ ์„ ์–ธํ•˜๋ฉด, ์ด ๋ณ€์ˆ˜๋Š” ์‹ค์ œ๋กœ๋Š” global ๊ฐ์ฒด์˜ ํ”„๋กœํผํ‹ฐ๋กœ ์ทจ๊ธ‰๋ฉ๋‹ˆ๋‹ค.

global

์ •์˜

: Node.js ํ™˜๊ฒฝ์—์„œ ์ „์—ญ ๊ฐ์ฒด

๋ฌธ๋ฒ•

global ๊ฐ์ฒด๋Š” ๋ณ„๋„์˜ ์„ ์–ธ ์—†์ด ์‚ฌ์šฉ ๊ฐ€๋Šฅํ•ฉ๋‹ˆ๋‹ค.
์ƒ๋žต ๊ฐ€๋Šฅ

์˜ˆ์‹œ ์ฝ”๋“œ

// global ๊ฐ์ฒด ์‚ฌ์šฉ ์˜ˆ์‹œ global.customVar = 'Hello, global!'; console.log(customVar); // ์ถœ๋ ฅ: Hello, global!
JavaScript
๋ณต์‚ฌ

์‚ฌ์šฉ ๋ชฉ์ 

1.
์ „์—ญ ๋ณ€์ˆ˜ ๋ฐ ํ•จ์ˆ˜ ์ •์˜
2.
์ „์—ญ ์Šค์ฝ”ํ”„์—์„œ์˜ ์‚ฌ์šฉ
3.
๋ชจ๋“ˆ ๊ฐ„ ๋ฐ์ดํ„ฐ ๊ณต์œ 

์ „์—ญ ๋ณ€์ˆ˜ ๋ฐ ํ•จ์ˆ˜ ์ •์˜

โ€ข
global ๊ฐ์ฒด๋ฅผ ํ†ตํ•ด ์ „์—ญ ๋ฒ”์œ„์—์„œ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋Š” ๋ณ€์ˆ˜๋‚˜ ํ•จ์ˆ˜๋ฅผ ์ •์˜ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
โ€ข
์ฃผ๋กœ ํ”„๋กœ์ ํŠธ ์ „๋ฐ˜์— ๊ฑธ์ณ ๊ณต์œ ํ•ด์•ผ ํ•˜๋Š” ์ •๋ณด๋ฅผ ์ €์žฅํ•  ๋•Œ ํ™œ์šฉ๋ฉ๋‹ˆ๋‹ค.
// ์ „์—ญ ๋ณ€์ˆ˜ ์ •์˜ global.sharedVar = 'I am a global variable'; // ์ „์—ญ ํ•จ์ˆ˜ ์ •์˜ global.sayHello = function() { console.log('Hello from the global function!'); };
JavaScript
๋ณต์‚ฌ

์ „์—ญ ์Šค์ฝ”ํ”„์—์„œ์˜ ์‚ฌ์šฉ

โ€ข
global ๊ฐ์ฒด๋ฅผ ์‚ฌ์šฉํ•˜๋ฉด ์ „์—ญ ์Šค์ฝ”ํ”„์—์„œ ๋ณ€์ˆ˜๋‚˜ ํ•จ์ˆ˜์— ์‰ฝ๊ฒŒ ์ ‘๊ทผํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
โ€ข
๊ทธ๋Ÿฌ๋‚˜ ์ด๋Š” ์ฝ”๋“œ์˜ ๊ฐ€๋…์„ฑ์„ ํ•ด์น  ์ˆ˜ ์žˆ์œผ๋ฏ€๋กœ ์ฃผ์˜ํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.
// ์ „์—ญ ์Šค์ฝ”ํ”„์—์„œ ๋ณ€์ˆ˜์— ์ ‘๊ทผ console.log(sharedVar); // ์ „์—ญ ์Šค์ฝ”ํ”„์—์„œ ํ•จ์ˆ˜ ํ˜ธ์ถœ sayHello();
JavaScript
๋ณต์‚ฌ

๋ชจ๋“ˆ ๊ฐ„ ๋ฐ์ดํ„ฐ ๊ณต์œ 

โ€ข
global ๊ฐ์ฒด๋ฅผ ์‚ฌ์šฉํ•˜๋ฉด ์—ฌ๋Ÿฌ ๋ชจ๋“ˆ ๊ฐ„์— ๋ฐ์ดํ„ฐ๋ฅผ ๊ณต์œ ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
โ€ข
๊ทธ๋Ÿฌ๋‚˜ ์ด๋Š” ๋ชจ๋“ˆํ™”๋ฅผ ํ•ด์น  ์ˆ˜ ์žˆ์œผ๋ฏ€๋กœ ์ฃผ์˜ํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.
// ๋ชจ๋“ˆ 1 global.module1Var = 'Data from module 1'; // ๋ชจ๋“ˆ 2 console.log(module1Var); // ์ถœ๋ ฅ: Data from module 1
JavaScript
๋ณต์‚ฌ
์ฃผ์˜: global ๊ฐ์ฒด๋ฅผ ๋‚จ์šฉํ•˜๋ฉด ์ฝ”๋“œ์˜ ์œ ์ง€๋ณด์ˆ˜์„ฑ์ด ๋‚ฎ์•„์งˆ ์ˆ˜ ์žˆ๊ณ , ์ถฉ๋Œ ๊ฐ€๋Šฅ์„ฑ์ด ์žˆ์œผ๋ฏ€๋กœ ํ•„์š”ํ•œ ๊ฒฝ์šฐ์—๋งŒ ์‚ฌ์šฉํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. ๋Œ€๋ถ€๋ถ„์˜ ๊ฒฝ์šฐ ๋ชจ๋“ˆ ๊ฐ„์— ๋ฐ์ดํ„ฐ๋ฅผ ๊ณต์œ ํ•˜๋Š”๋ฐ์—๋Š” ๋‹ค๋ฅธ ๋ฐฉ๋ฒ•๋“ค์ด ์กด์žฌํ•˜๋ฏ€๋กœ ์ ์ ˆํžˆ ์„ ํƒํ•˜์—ฌ ์‚ฌ์šฉํ•˜๋Š” ๊ฒƒ์ด ์ข‹์Šต๋‹ˆ๋‹ค.