런타임(runtime)은 프로그램이 실행되는 때를 뜻하며, 실행에 필요한 환경을 가리키는 말로도 쓰인다. 여기서는 [[소스 코드]]를 실행하고 입출력 등의 기능을 제공하는 실행 환경을 다룬다. ([Node.js 실행 환경 소개](https://nodejs.org/en/learn/getting-started/introduction-to-nodejs)) - Node.js는 브라우저 밖에서 자바스크립트를 실행하는 런타임이다. 언어가 같아도 브라우저와 제공하는 기능이 같지는 않다. ([Node.js와 브라우저의 차이](https://nodejs.org/en/learn/getting-started/differences-between-nodejs-and-the-browser)) - 브라우저의 document와 window를 사용하는 코드는 Node.js에서 그대로 동작하지 않는다. 반대로 서버의 파일 시스템을 다루는 기능도 브라우저 환경과 구분한다. ([실행 환경별 API](https://nodejs.org/en/learn/getting-started/differences-between-nodejs-and-the-browser)) - 프로젝트를 옮길 때 코드와 함께 실행 환경의 버전도 확인한다. 지원하는 언어 기능과 모듈 방식이 달라질 수 있어 [[런타임 버전 관리]]가 필요하다. ([Node.js 버전과 언어 기능](https://nodejs.org/en/learn/getting-started/introduction-to-nodejs)) ## 기타 등등 - Node.js는 크롬에서도 사용하는 V8 자바스크립트 엔진을 브라우저 밖에서 구동한다. [출처](https://nodejs.org/en/learn/getting-started/introduction-to-nodejs) - Node.js 공식 입문은 같은 웹 서버를 CommonJS와 ECMAScript 모듈 두 방식으로 보여준다. [출처](https://nodejs.org/en/learn/getting-started/introduction-to-nodejs) #프로그래밍 #소프트웨어 #실행환경