WEB 1.0
에서 WEB 2.0
으로 넘어가면서 고성능의 JavaScript가 필요해짐 + V8
엔진 등장 ➡️ Node.js
탄생
WEB 1.0
과WEB 2.0
WEB 1.0
- 정보의 공급자와 소비자가 엄격히 구분됨.
- 단방향 통신, 읽기 전용(Read Only)
WEB 2.0
- 정보의 소비자인 동시에 생산자.(하지만 서비스에서 발생된 데이터는 기업이 소유하며 이익을 독점)
- 양방향 소통 가능
- 읽기(Read) + 쓰기(Write)
Browser
의 JavaScript ➡️ 브라우저에서 실행, 웹 내부 제한된 동작, 웹 프론트에 한정된 언어
Node.js
의 JavaScript ➡️ 크로스 플랫폼 실행, 제한 없는 동작, 다양한 어플리케이션 개발
크로스 플랫폼
특정 플랫폼에 얽매이지 않고 자유롭게 사용 가능
싱글 쓰레드
이기 때문에 비동기 동작
필요 + 비동기 동작
을 구현하기 위해 이벤트 기반
싱글 쓰레드
쓰레드는 명령을 실행하는 단위로 싱글 쓰레드(한 개의 쓰레드)는 한 번에 한 가지 동작만 실행 가능하다.
장점 : 쓰레드가 더 늘어나지 않기 때문에 리소스 관리에 효율적이다.
단점 : 쓰레드 기반의 작업들(CPU 연산 작업 등)의 효율이 떨어진다
비동기
동작을 실행한 후 완료까지 기다리지 않고 다른 동작을 바로 실행
이벤트 기반
비동기 동작이 완료를 처리하는 방법으로 실행한 동작이 완료될 경우 실행할 함수를 미리 등록
ECMAScript 버전 6를 의미하며 2015년에 출시됨.
let, const
Template String
arrow function
class
destructing
Promise, async-await
Callback
Promise
Async-Await
이 글은 엘리스 SW 엔지니어 트랙을 기반으로 작성되었습니다.