Node.js는 Chrome V8 JavaScript 엔진으로 빌드된 JavaScript 런타임이다.
여기서 언급되는 런타임의 의미는 프로그램이 실행되고 있는 동작을 의미하는데 좀더 정확히 말하자면 런타임환경을 언급해야하는것이 이해하기 좋다고 생각한다.

지금까지 JS코드들을 브라우저 위에서 돌렸다.

이제 Node.js를 통해 브라우저 이외에 로컬환경에서도 돌릴 수 있게 된 것이다.

즉, 자바스크립트 코드를 컴퓨터가 이해할 수 있는 언어로 바꿔주는 환경을 제공해주는 것이 Node.js인 것이다.
현재 실행프로세스 관련기능 제공
arch, argv, env 등 실행 환경 및 변수 관련 값 제공
abort, kill, exit 등 프로세스 동작 관련 함수 제공
파일 입출력 관련기능 제공
readFile, writeFile 함수로 파일 읽기, 쓰기
watch로 파일/ 디렉토리 변경 이벤트 감지
http 서버, 클라이언트를 위해 사용
createServer 함수로 서버 인스턴스 생성
listen 함수로 서버를 클라이언트 요청 대기 상태로 만듬
url, os, Path, crypto ...
https://nodejs.org/dist/latest-v17.x/docs/api/
노드의 많은 웹 프레임워크 중에 Express를 사용한 이유는 다음과 같다.