본문 바로가기
공부/TIL•기타

Global

by svcbn 2024. 10. 22.

09/24

 

 

Global 이란

Node.js 에는 global 이라는 객체가 존재한다.
전역에 어떤 변수를 선언하게 되면, 해당 변수는 global 객체에 정의되게 됨.
어디서나 참조할 수 있는 singleton 패턴의 객체와 원리와 사용이 비슷한 것 같다.

(별개로, 브라우저 위에서 동작하는 JS 런타임 환경에서는 windows 객체에 정의됨)

global 에 직접 정의를 하는 것과, 전역에 정의하는 것은 동일하게 취급된다.
사용할 때는, global은 생략이 가능.

global 의 정의는 여기서 확인할 수 있고,

global 객체 내부에는 setInterval, setTimeout 등 JavaScript 에서 기본으로 제공하는
다양한 변수들이 존재하는데, 사실 프론트 개발에 사용하고 있지 않다 보니
몇 종류만 사용해 본 터라 자세히는 모르고, 기회가 되면 조금 더 공부해보면 좋을듯.

자세한 Node.js의 최신 LTS버전인 v20.18.0 의 global 에서
사용할 수 있는 object나 class 를 여기서 확인할 수 있다.

 

사용하면서 느낀 특이점

this

어떤 scope 에서 어떻게 사용하냐에 따라 달라진다.


function 에서 사용하는 경우
함수로써 호출한다면 this 는 전역객체(global) 을 가리킴.
메서드로써 호출한다면 this 는 메서드를 호출한 객체를 가리킴.
생성자 함수 호출이라면 this 는 인스턴스화 된 객체를 가리킴.

class 에서 사용하는 경우
this 는 인스턴스화 된 객체를 가리킴.

global scope 에서 사용하는 경우
this 는 module.export 를 나타냄.
(브라우저의 경우 window)

'공부 > TIL•기타' 카테고리의 다른 글

Node.js 란?  (0) 2024.10.17
.ini  (0) 2024.10.07
결합도 / 응집도  (0) 2024.10.07
TDD(테스트 주도 개발)  (7) 2024.09.14
Method Chaining  (0) 2024.09.08