- 웹 사이트 안에서 DOM 요소들을 조작하면서 동적인 웹 사이트를 만들기 위해 JavaScript가 등장
- 브라우저 안에 script를 이해할 수 있는 인터프리터가 포함되어 출시된다 → 언어가 실행하는 것에 알맞게 DOM 요소들을 조작할 수 있게 됨
- ECMAScript는 서로 다른 Script 언어들의 표준을 규정한 것
- 이전엔 ECMAScript가 규정되어도 타 브라우저 간 script 호환성 문제가 해결되지 않았었음
- 이 상황에서 등장하게 된 것이 AJAX(Asynchronous JavaScript and XML); 비동기적으로 데이터를 서버에서 받아오고 처리할 수 있게 됨
- 현재는 모든 브라우저들이 ECMAScript의 표준에 잘 따르고 있다
∴ 이전에 있던 호환성 문제를 해결하기 위해 사용되었던 라이브러리(ex. jQuery,dojo)를 사용할 필요없이 모든 브라우저에서 잘 동작할 수 있는 웹 사이트를 제작할 수 있게 되었다
- 사용자는 다양한 버전의 브라우저들을 사용한다 → 개발자가 개발할 땐 최신 버전의 ECMAScript를 사용하고, 사용자에게 배포할 때만 JavaScript Compiler(BABEL)를 이용해서 최신 버전을 ECMAScript 5나 6 버전으로 변환한다
- 하나의 페이지 안에서 필요한 데이터를 받아와서 부분적으로 변화시키는 것이 최신 트렌드 → SPA
- SPA를 쉽게 만들기 위해서 React,Vue,Angular 등이 등장
- 구글의 강력한 V8의 등장과 더불어 Node.js가 등장
- Node.js는 V8을 이용하여 BE에서 자바스크립트를 구현할 수 있도록 만들어짐