As an asynchronous event-driven JavaScript runtime, Node.js is designed to build scalable network applications.
비동기 이벤트 기반 자바스크립트 런타임인 Node.js는 확장성 있는 네트워크 애플리케이션을 만들 수 있도록 설계되었습니다.
nodejs.org - About Node.js
Node.js는 브라우저 밖에서 자바스크립트를 사용할 수 있도록 해주는 런타임(실행환경)이다. 이를 통해 대표적으로 자바스크립트를 이용한 서버 구축이 가능해 졌으며, 프론트와 백엔드를 같은 언어로 구현할 수 있다는 장점 덕분에 널리 사용되고있다.
비동기 서버
Node.js는 Single-Thread의 non-blocking I/O 이벤트 기반 비동식 방식으로 작동한다. 이러한 비동기 방식은 서버에 무리를 주지 않는다는 장점을 가진다.
하나의 언어로 프론트, 백엔드 작성 가능
기존 자바스크립트에 익숙한 개발자라면 동일한 언어로 빠르게 서버 구축을 위한 지식을 배울 수 있다.
NPM을 통한 다양한 모듈 제공
npm을 이용해 자신이 필요한 라이브러리와 패키지를 검색해서 설치하고 사용할 수 있기 때문에 효율성이 좋다.