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 ๊ฐ์ฒด๋ฅผ ๋จ์ฉํ๋ฉด ์ฝ๋์ ์ ์ง๋ณด์์ฑ์ด ๋ฎ์์ง ์ ์๊ณ , ์ถฉ๋ ๊ฐ๋ฅ์ฑ์ด ์์ผ๋ฏ๋ก ํ์ํ ๊ฒฝ์ฐ์๋ง ์ฌ์ฉํด์ผ ํฉ๋๋ค. ๋๋ถ๋ถ์ ๊ฒฝ์ฐ ๋ชจ๋ ๊ฐ์ ๋ฐ์ดํฐ๋ฅผ ๊ณต์ ํ๋๋ฐ์๋ ๋ค๋ฅธ ๋ฐฉ๋ฒ๋ค์ด ์กด์ฌํ๋ฏ๋ก ์ ์ ํ ์ ํํ์ฌ ์ฌ์ฉํ๋ ๊ฒ์ด ์ข์ต๋๋ค.