티스토리 뷰

Back_end/NodeJS

[NodeJS] 내장 객체 - global

리미32 2023. 4. 14. 18:27
728x90

 안녕하세요!  NodeJS의 내장 객체는 모듈 선언(import, require) 필요 없이 사용가능한 객체입니다. 오늘은 NodeJS 내장 객체인 global에 대해서 알아보겠습니다.

 


1. global이란?

  1. global 객체는 전역 변수 및 함수에 대한 접근을 제공하는 객체
    • global 함수는 전역 객체이므로 모든 파일에 접근 가능 
  2. JavaScript의 window 객체와 유사
    • 노드에서는 DOM이나 BOM이 없어서 window와 document 객체 사용 불가능
    • 따라서 노드에서 window와 document를 아우르는 객체인 global을 사용
  3. global 생략 가능
    • 원래는 global.console이지만 global을 생략한 console 객체만 입력해도 사용 가능
  4. REPL을 이용해 global 내부 볼 수 있음
  5. 속성 예시
    1. 'process': 현재 Node.js 프로세스에 대한 정보(예: 명령줄 인수 및 환경 변수)를 제공하는 객체입니다.
    2. 'Buffer': 이진 데이터 버퍼를 생성하기 위한 생성자 함수입니다.
    3. 'console': 터미널에 메시지를 기록하기 위한 메서드를 제공하는 콘솔 객체입니다.
    4. 'setTimeout()' 및 'setInterval()': 나중에 함수를 실행하거나 일정한 간격으로 반복 실행하기 위한 메서드입니다.
    5. 'require()': Node.js에서 모듈을 가져오기 위한 함수입니다.

⭐️ globalThis ⭐️

window객체와 document 객체를 함께 아우르는 객체
-> 브라우저 환경에서 globalThis === window
-> 노드에서 globalThis === global

2. 유의할 점

  1. 이름 충돌 주의하기
    • global 객체는 응용 프로그램 전체에서 액세스할 수 있기 때문에 다른 모듈 또는 라이브러리와 이름 충돌을 피하는 것이 중요
  2. 최대한 적게 사용하기
    •  global 객체는 특정 사용 사례에 대해 편리할 수 있지만, 일반적으로 전역 변수 또는 함수에 지나치게 의존하는 것은 유지 보수 및 디버그가 더 어려워질 가능성 O
  3. 내장 속성 수정은 피하기
    • global.process 또는 global.Buffer와 같은 내장 속성을 수정하는 것은 응용 프로그램 전체에서 예기치 않은 동작 발생 가능
 

 이상으로 global 객체에 대해 알아보았습니다. 감사합니다! 

728x90
250x250
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2025/11   »
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
글 보관함