Notice
Recent Posts
Recent Comments
Link
«   2024/12   »
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 31
Archives
Today
Total
관리 메뉴

과거의 내가 미래의 나에게

딥다이브 :: JS에 배경 지식에 대하여 새로 안 것들 본문

js 이론

딥다이브 :: JS에 배경 지식에 대하여 새로 안 것들

양바삭 2022. 12. 27. 21:19

「딥다이브 자바스크립트」 정리 - JS에 대하여

※ 아래 내용은 책을 통해 학습한 것을 개인적으로 정리한 것으로 내용이 다소 부정확 할 수 있습니다.

 


컴파일러 & 인터프리터란

사람이 프로그래밍 언어로 컴퓨터에게 전달할 때, 그 사이에서 언어를 번역해주는 역할을 맡은 것이 컴파일러 혹은 인터프리터이다. 

컴파일러는 프로그램 전체를 스캔하여 이를 한번에 기계어로 바꿔준 후 실행하고, 인터프리터는 프로그래밍 언어를 한 줄 씩 읽고 바로 실행하는 것이다.

 

그러고보니 vscode에서는 alert가 안먹히네? 

JS 엔진은 load된 스크립트를 해석하고 실행하는 역할로, 모든 브라우저는 js 엔진을 내장하고 있다. 또한 node.js도 js 엔진으로 빌드되었다. 그러므로 브라우저에서 동작하는 코드는 node에서도 동작되는 등 js는 브라우저와 node 환경 모두에서 실행 될 수 있다.

하지만 브라우저와 node의 태어난 이유는 다르기에 둘 다 js의 코어를 실행 할 수는 있지만 그 이외로 브라우저나 node가 추가 제공하는 기능은 당연히도 서로 호환되지 않는다. alert는 web에서 제공하는 API고, 그러므로 vscode는 물론이고 브라우저 이외의 공간에서는 alert는 울리지 않을 것이다.

굳이 의식해서 공부할 필요는 없겠지만 그래도 js 코어 기능과 webAPI 혹은 node기능을 구분해서 파악하고 이해하고 있어야 할 것이다. 

< 참조 >
브라우저는 html,css,js를 통해 페이지를 브라우저에 렌더링하는 것이 주목적이고, node는 브라우저에서만 작동하던 js를 브라우저 이외의 환경에서 동작시킬 수 있게끔 환경 구성을 해주는 것이다. 이를 이용해서 라이브러리나 프레임워크, Eslint 등 여러가지 도구를 내 프로젝트에서 사용 가능 하게 해준다. 이를 위해 먼저 node를 설치하여 node환경을 마련하고, npm을 통해 node에서 사용할 수 있는 모듈들을 패키지화 해 저장하고 또 설치 및 관리할 수 있게끔 한다. 

 

 

Comments