본문 바로가기

TIL ( CODESTATES)

global , globalThis

imm-prep 과제를 하다가 우연히 global 을 입력하려고 했는데 위에 reference 로 globalThis가 나온 걸 보았다.

테스트를 해 보니 globalThis를 적어도 코드가 통과가 되었다.

 

 

office hour 때 질문할 시간이 생겨서 물어보니 많이 못 들어본 것 같아서 알아보고 얘기해 주신다고 했었다.

그냥 알려주신대로 global만 잘 쓸 걸 괜한 걸 물어봤나 하는 생각이 잠시 들었다.

 

그리고 오늘 설명해 주신 걸 들으니 물어보길 잘했구나 싶었다. ㅋㅋㅋㅋㅋ 최근에 생긴 따끈따끈한 구문이라고!!

대충이라도 조금 정확하게 알기 위해 내용을 정리했다.

 

global

브라우저에 있는 전역 객체 window 처럼 node 에 있는 전역 객체는 global 이다.

__filename, __dirname 등이 자주 사용되는 전역 변수이다.

 

globalThis

"전역 globalThis 속성은 전역 this 값을 가진 전역 객체를 반환한다."

 

역사적으로, 서로 다른 JavaScript 환경의 전역 범위에 접근하는건 서로 다른 구문을 필요로 했다.

웹에서는 window, self, frames를 사용할 수 있지만, Web Workers에서는 self만 동작한다.

Node.js에서는 아무것도 쓸 수 없고, 대신 global을 사용해야 한다.

 

globalThis 속성은 환경에 무관하게 전역 this 값, 즉 전역 객체에 접근하는 표준 방법을 제공한다.

따라서 코드를 구동하는 환경을 모르더라도 전역 객체에 일관적으로 접근할 수 있다.

 

globalThis에 관한 mdn 문서

 

오늘 공부하고 느낀 점은

" globalThis는 되게 편한 기능이구나! 진짜 계속해서 새로운 게 생기는 걸 보면 공부할 게 진짜 많겠다." 

"근데 공부하다보니 global 은 도 왜 이렇게 알아야할 게 많지? 이것부터 해야겠구나 또르르..."

이 정도. 휴~

 

 

global 객체에서 추가로 공부할 내용

  • console
  • timer
  • __filename
  • __dirname
  • module, exports

'TIL ( CODESTATES)' 카테고리의 다른 글

Data Structure - Linked List, Hash Table  (0) 2020.10.31
for ... in / for ... of  (0) 2020.10.30
구조 분해 할당 - 배열  (0) 2020.10.27
Linting  (0) 2020.10.24
git branch 생성, ESLint 설치  (0) 2020.10.24