[JS] javaScript Study 02
02장 자바스크립트란?
2.1 자바스크립트의 탄생
2.2 자바스크립트의 표준화
자바스크립트는 ECMAScript로 명명되었다.
2.3 자바스크립트 성장의 역사
- 초창기 자바스크립트는 웹페이지의 보조적인 기능을 수행하기 위해 한정적인 용도로 사용됨
- 대부분의 로직은 웹 서버에서 실행되었다.
- 브라우저는 서버로부터 전달받은 HTML과 CSS를 단순히 렌더링하는 수준이었다.
- 렌더링이란 HTML, CSS, 자바스크립트로 작성된 문서를 해석해서 브라우저에 시각적으로 출력하는 것을 말한다.
- Ajax
- 자바스크립트를 이용해 서버와 브라우저가 비동기 방식으로 데이터를 교환할 수 있는 통신 기능인 Ajax가 XMLHttpRequest라는 이름으로 등장했다.
- 웹페이지에서 변경할 필요가 없는 부분은 다시 렌더링하지 않고, 서버로부터 필요한 데이터만 전송받아 변경해야 하는 부분만 한정적으로 렌더링하는 방식이다.
- 이로써 웹브라우저에서도 데스크톱 어플리케이션과 유사한 빠른 성능과 부드러운 화면전환이 가능해졌다.
- jQuery
- DOM (Document Object Model)을 더욱 쉽게 제어할 수 있게 되었다
- 크로스 브라우징 이슈도 어느 정도 해결되었다
- V8 자바스크립트 엔진
- 과거 웹 서버에서 수행되던 로직들이 대거 클라이언트(브라우저)로 이동했다.
- 이는 웹 어플리케이션 개발에서 프론트엔드 영역이 주목받는 계기로 작용했다.
- 과거 웹 서버에서 수행되던 로직들이 대거 클라이언트(브라우저)로 이동했다.
- Node.js
- 구글 V8 자바스크립트 엔진으로 빌드된 자바스크립트 런타임 환경이다.
- 브라우저의 자바스크립트 엔진에서만 동작하던 자바스크립트를 브라우저 이외의 환경에서도 동작할 수 있도록 자바스크립트 엔진을 브라우저에서 독립시킨 자바스크립트 실행 환경이다.
- 서버 사이드 애플리케이션 개발에 주로 사용되며, 이에 필요한 모듈, 파일 시스템, HTTP 등 빌트인 API를 제공한다.
- 비동기 I/O를 지원하며 단일 스레드 이벤트 루프 기반으로 동작함으로써 요청 처리 성능이 좋다.
- SPA 프레임워크
- CBD(Component based development)방법론을 기반으로 하는 SPA(Single Page Application)가 대중화되면서 Angular, React, Vue.js, Svelte 등 다양한 SPA 프레임워크/라이브러리 또한 많은 사용층을 확보하고 있다.
2.4 자바스크립트와 ECMAScript
- ECMAScript는 자바스크립트의 표준 사양인 ECMA-262를 말하며, 프로그래밍 언어의 값, 타입, 객체와 프로퍼티, 함수, 표준 빌트인 객체(standard built-in object) 등 핵심 문법을 규정한다.
- 자바스크립트는 일반적으로 프로그래밍 언어로서 기본 뼈대를 이루는 ECMAScript와 브라우저가 별도 지원하는 클라이언트 사이드 Web API , 즉 DOM, BOM, Canvas, XMLHttpRequest, fetch, requestAnimationFrame, SVG, Web Storage, Web Component, Web Worker 등을 아우르는 개념이다.
2.5 자바스크립트의 특징
- HTML, CSS와 함께 웹을 구성하는 요소 중 하나로 웹 브라우저에서 동작하는 유일한 프로그래밍 언어이다.
- 개발자가 별도의 컴파일 작업을 수행하지 않는 인터프리터 언어(interpreter language)이다.
- 명령형(imperative), 함수형(functional), 프로토타입 기반 객체지향 프로그래밍을 지원하는 멀티 패러다임 프로그래밍 언어이다.
- 클래스 기반 객체지향 언어보다 효율적이면서 강력한 프로토타입 기반의 객체지향 언어이다.
2.6 ES6 브라우저 지원 현황
- 모던 브라우저의 대부분이 ES6를 지원하지만 인터넷 익스플로러나 구형 브라우저는 대부분 지원하지 않는다.
- 따라서 바벨(Babel)과 같은 트랜스파일러를 사용해 ES6 이상의 사양으로 구현한 소스코드를 ES5 이하의 사양으로 다운그레이드할 필요가 있다.
댓글남기기