NodeJs.global
2022. 12. 7. 09:00ㆍNodeJs/내장 모듈
| 목차 |
| 1. global |
| 2. global 예제 |
1. global
NodeJs에서는 기본적으로 내장 객체를 제공해준다. 브라우저의 Window 객체와 비슷하지만, 안에 있는 내용의 차이가 있으므로 주의하자.
- 브라우저의 window와 같이 전역 객체이다.
- 전역 객체로서 모든 파일에 접근할 수 있다.
- window와 마찬가지로 메서드 앞에 global을 생략할 수 있다.
global 객체 내부를 보려면 REPL을 이용하여야 한다.
$ node
> global

내용이 많아 모두 표현하진 못하지만 이 외에도 많은 내용이 들어있다.
2. global 예제
global 객체는 전역 객체이므로 모든 파일에서 접근이 가능하다. 이를 이용해 간단한 데이터 공유에 사용할 수 있다.
// 1.js
module.exports = () => global.message;
// 2.js
const A = require('./1')
global.message = 'Hello World!'
console.log(A())
1.js 모듈의 함수는 global.message의 값을 반환하고,
2.js 는 1.js에서 값을 가져오고, global.message에 "Hello World!"를 대입 후 console.log(A())를 이용해 출력한다.
이를 실행시켜 결과값을 확인해보자.
$ node ./2.js

"Hello World!"가 출력되었다.
즉, 2.js에서 대입했지만, 1.js에서 불러온 함수가 이 값을 반환했다. 이는 1.js에서 2.js의 값에 접근했다고 볼 수 있다.
이처럼 global 객체 속성에 값을 대입하여 데이터 공유가 가능하다. 하지만 이를 남용할 경우 프로그램의 규모가 커지면 어떤 파일의 global 객체에서 값을 대입했는지 알아보기가 힘드므로 유지 보수가 어려워진다.
다른 파일의 값을 사용하고 싶다면 모듈형식으로 만들어 값을 불러와 값을 사용하는 것이 바람직하다.
'NodeJs > 내장 모듈' 카테고리의 다른 글
| NodeJs.crypto와 암호화 (0) | 2023.01.21 |
|---|