컴퓨터를 공부하고자 마음먹은지 N일차
[192일차]nodejs환경과 브라우저 환경의 차이 본문
728x90
nodejs환경과 브라우저환경은 어떤 차이가 있을까?
nodejs와 브라우저의 js는 모두 똑같은 v8엔진이라는 런타임을 통해 돌아간다.
또한 둘 다 공식 자바스크립트 명세(ECMA)를 따른다.
단순히 서버사이드와 클라이언트사이드의 차이가 아닌 어떤 차이가 있을까?
전역 객체의 차이
nodejs의 전역객체는 위와같이 global을 가리킨다.
파일을 실행시키는 거라면 Module을 가리키고있을것이다.
반면 브라우저는 Window라는 객체를 가리킨다.
window객체에는 브라우저 dom을 활용할때 쓰는 document객체 등등 볼 수 있는데
node에서는 그런게 있을리 없다.
그러나, 브라우저에서는 node에서 활용할 수 있는 내장모듈인 fs모듈(파일관리)을 활용 할 수 없다.
모듈 시스템의 차이
nodejs에서 사용하고있는 모듈 시스템은 CommonJS이다.
그래서 node환경에서 다른 모듈을 불러올 때 require라는 함수를 썼을 것이다.
그러나 브라우저에서는 import를 활용하는걸 볼 수 있다.
크롬이 아니라면 똑같은 V8을 사용 안할 수도 있다?
흔히 사용하는 크롬브라우저가 아니라면 다른 엔진이나 버전을 사용할 수 도 있다.
예를 들면 파이어폭스 브라우저에서는 SpiderMonkey와같은 엔진을 사용하고,
엣지에서는 V8 Chakra라는 다른 버전의 V8을 사용한다.
'🫒Node.js' 카테고리의 다른 글
[193일차]nodejs의 이벤트루프 (0) | 2021.03.25 |
---|---|
[193일차]nodejs로 서버앱을 개발했을 때 장점 (0) | 2021.03.25 |
[191일차]쿠키와 세션의 차이 (0) | 2021.03.23 |
[164일차] nestjs와 fastify를 dockerize해보자. (0) | 2021.02.24 |
[120일차]crud 방명록만들기 -1 api만들기 (express) (0) | 2021.01.08 |
Comments