2장. 자바스크립트란?

Doozuu·2023년 3월 22일
0

Javascript

목록 보기
40/99

2.1 자바스크립트의 탄생

웹페이지의 보조적인 기능을 수행하기 위해 브라우저에서 동작하는 경량 프로그래밍 언어로 탄생한 것이 자바스크립트이다.



2.2 자바스크립트의 표준화

이후 자바스크립트의 파생 버전인 JSscript가 출시되었다.

JSscript와 자바스크립트가 표준화되지 못하고 적당히 호환되었기 때문에, 브라우저에 따라 웹페이지가 정상적으로 동작하지 않는 크로스 브라우징 이슈가 발생하게 된다.

이에 자바스크립트의 파편화를 방지하고 모든 브라우저에서 정상적으로 동작하는 표준화된 자바스크립트의 필요성이 대두되기 시작했다.

표준화된 자바스크립트는 ECMAScript로 명명되며, 버전 1 (ES1) 부터 현재 버전 13 (ES13) 까지 나와있으나, ES6 이후의 버전업은 비교적 작은 기능을 추가하는 수준으로 공개할 것으로 예고되었다.
(ES6는 기본적으로 하위 호환성을 유지하면서 ES5의 기반 위에 새로운 기능을 추가한 것이다.)

참고 | ES6 특징

  • let/const 클래스
  • 화살표 함수
  • 스프레드 문법
  • Map/Set
  • 그 외



2.3 자바스크립트 성장의 역사

초창기 자바스크립트는 HTML과 CSS를 단순히 렌더링하는 수준의 한정적인 용도로 사용되었다.

2.3.1 Ajax

1999년, 자바스크립트를 이용해 서버와 브라우저가 비동기 방식으로 데이터를 교환할 수 있는 통신 기능인 Ajax가 등장했다.

이전에는 화면이 전환되면 서버로부터 새로운 HTML을 전송받아 웹페이지 전체를 처음부터 다시 렌더링했다.

이러한 방식은 불필요한 데이터 통신이 발생하고 성능 면에서도 불리하게 작용했다.

Ajax의 등장으로 인해 서버로부터 필요한 데이터만 전송받아 변경해야 하는 부분만 한정적으로 렌더링하는 방식이 가능해졌다.

2.3.2 jQuery

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

2.3.3 V8 자바스크립트 엔진

2008년, 구글의 V8 자바스크립트 엔진의 등장으로 자바스크립트는 데스크톱 애플리케이션과 유사한 사용자 경험을 제공할 수 있는 웹 애플리케이션 언어로 정착하게 되었다.

2.3.4 Node.js

2009년, 구글 V8 자바스크립트 엔진으로 빌드된 자바스크립트 런타임 환경이 Node.js이다.

Node.js는 브라우저의 자바스크립트 엔진에서만 동작하던 자바스크립트를 브라우저 이외의 환경에서도 동작할 수 있도록 자바스크립트 엔진을 브라우저에서 독립시켰다.

또한, Node.js로 인해 서버 사이드 애플리케이션 개발에서도 사용할 수 있는 범용 프로그래밍 언어가 되었다.

2.3.5 SPA 프레임워크

구조가 복잡해짐에 따라 CBD(Component Based Development) 방법론을 기반으로 하는 SPA(Single Page Application)이 대중화되면서 Angular, React, Vue.js, Svelte 등의 다양한 프레임워크가 등장했다.



2.5 자바스크립트의 특징

  • 자바스크립트는 웹 브라우저에 동작하는 유일한 프로그래밍 언어다.

  • 자바스크립트는 개발자가 별도의 컴파일 작업을 수행하지 않는 인터프리터 언어다.

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



2.6 ES6 브라우저 지원 현황

인터넷 익스플로러를 제외한 대부분의 모던 브라우저는 ES6를 지원하지만 100% 지원하고 있지는 않다.

따라서 브라우저에서 아직 지원하지 않는 최신 기능을 사용하거나 구형 브라우저를 고려해야 하는 상황이라면 바벨(Babel)과 같은 트랜스파일러를 사용해 ES5 이하의 사양으로 다운그레이드할 필요가 있다.

profile
모든게 새롭고 재밌는 프론트엔드 새싹

0개의 댓글