본문 바로가기
Language/Javascript

[모던 자바스크립트 Deep Dive][02] 자바스크립트란?

by aeong_ 2024. 4. 22.

자바스크립트의 탄생

1995년 브렌던 아이크가 자바스크립트를 개발,
1996년 3월 "모카"라는 이름으로 넷스케이프 내비게이터2에 탑재
1996년 12월 "자바스크립트"라는 이름으로 최종 명명

 

자바스크립트의 표준화

언어 경쟁으로 인해 브라우저에 따라 웹페이지가 정상적으로 동작하지 않는 크로스 브라우징 이슈가 발생하기 시작했다.
이를 위해 1996년 11월, ECMA 인터내셔널에 자바스크립트의 표준화를 요청했다.
1997년 7월, 표준화된 자바스크립트 초판이 상표권 문제로 ECMAScript로 명명되었다.
...
2015년에 공개된 ECMAScript6 (ES6)는 범용 프로그래밍 언어로서 갖춰야 할 기능들을 대거 도입하는 큰 변화가 있었다.

 

 

자바스크립트 성장의 역사

초창기는 한정적인 용도로 사용되었다. 대부분의 로직은 웹 서버에서 실행되고 브라우저는 서버로부터 전달받은 HTML과 CSS를 단순 렌더링 하는 수준이었다.

 

* 렌더링?

HTML, CSS, JS로 작성된 문서를 해석해서 브라우저에 시각적으로 출력하는 것을 말한다. (38장에서 자세히 살펴볼 것이다.)

 

Ajax

JS를 이용해 서버와 브라우저가 비동기 방식으로 데이터를 교환할 수 있는 통신기능인 Ajax가 XMLHttpRequest라는 이름으로 등장했다. 서버로부터 필요한 데이터만 전송받아 변경해야 하는 부분만 한정적으로 렌더링하는 방식이 가능해진 것이다.

 

jQuery

2006년, jQuery의 등장으로 DOM을 더욱 쉽게 제어할 수 있게 되었고 크로스 브라우징 이슈도 어느 정도 해결되었다.

 

V8 엔진

자바스크립트의 발전으로 과거 웹 서버에서 수행되던 로직들이 대거 클라이언트로 이동했고, 프론트엔드 영역이 주목받는 계기로 작용했다.

 

Node.js

2009년, 구글 V8엔진으로 빌드된 자바스크립트 런타임 환경으로 브라우저의 JS엔진 에서만 동작하던 자바스크립트를 브라우저 이외의 환경에서도 동작할 수 있도록 브라우저에서 독립시킨 자바스크립트 실행 환경이다.

비동기 I/O를 지원하며 단일 스레드 이벤트 루프 기반으로 동작하여 요청 처리 성능이 좋다.

 

SPA 프레임워크 (Single Page Application)

Angular, React, Vue.js, Svelte 등 다양한 프레임워크 또한 많은 사용층을 확보하고 있다.

 

 

자바스크립트의 특징

웹 브라우저에서 동작하는 유일한 프로그래밍 언어다. 

또 개발자가 별도의 컴파일 작업을 수행하지 않는 인터프리터 언어이다. 대부분의 모던 JS엔진은 인터프리터와 컴파일러의 장접을 결합해 인터프리터의 단점을 해결했다.

자바스크립트는 명령형, 함수형, 프로토타입 기반 객체지양 프로그래밍을 지원하는 멀티 패러다임 프로그래밍 언어이다.

클래스 기반 객체지향 언어보다 효율적이면서 강력한 프로토타입 기반의 객체지향 언어이다.