본문 바로가기
JavaScript/모던자바스크립트 Deep Dive 스터디

[모던JS DeepDive] 2장 자바스크립트란?

by 복숭아 우유씨 2023. 1. 2.

자바스크립트의 탄생과 표준화

연도 사건 설명
1995 자바스크립트 탄생 넷스케이프 커뮤니케이션즈에서 도입
- 웹페이지의 보조적인 기능 수행
- 브라우저에서 동작
- 경량 프로그래밍 언어
1996 JScript 출시 MS에서 IE에 자바스크립트의 파생버전인 JScript를 출시함
1997 ECMAScript 1 사양 완성 - 자바스크립트와 JScript의 양립으로 자바스크립트 파편화, 크로스 브라우징 이슈 (모든 브라우저에서 동작하지 않음) 발생하여 넷스케이프에서 ECMA에 표준화를 요청함
2009 ES5 HTML5와 함께 출현한 표준 사양
2015 ES6(ECMAScript 2015) ECMA 사양에 주요 기능 대거 도입

 

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

시기 등장 기술 설명
1999 Ajax
(Asynchronous JavaScript and XML)
- 비동기 방식 데이터 교환 통신 기능
- 등장 이전: 변경 발생시 웹페이지 전체 렌더링, 불필요한 데이터 통신 발생, 화면 깜밖임 현상 발생, 성능 불리
- 등장 이후: 서버로부터 필요한 데이터만 전송받아 변경, 부분적 렌더링 가능, 빠른 성능, 부드러운 화면 전환
- 주요 사용처: 구글 맵스 (2005)
2006 jQuery - DOM 제어 간편해짐
- 크로스 브라우징 이슈 어느정도 해결 됨
2008 V8 자바스크립트 엔진 - 개발배경: 더 빠르게 동작하는 엔진 필요
- 데스크톱 애플리케이션과 유사한 사용자 경험 제공 가능해짐
- 서버 사이드 로직들이 대거 클라이언트(브라우저)로 이동함
2009 Node.js - V8 자바스크립트 엔진으로 빌드된 자바스크립트 런타임 환경
- 브라우저 이외의 환경에서도 JS동작 되도록 해주는 실행 환경
- 용처: 서버사이드 애플리케이션 개발 (빌트인 API 제공됨)
- 장점: 프론트/백엔드에서의 동형성으로 언어 학습 시간 감소, 비동기I/O 지원, 단일 스레드 이벤트 루프 기반 동작 -> 요청 처리 성능 좋음 (SPA에 적합)
- Node.js등장으로 자바스크립트는 크로스 플랫폼을 위한 중요 언어로 자리잡음
  SPA 프레임워크
(Angular, React, Vue.js, Svelte 등)
- 개발 규모 및 복잡도 증가로 인한 유연하고 확장성 있는 애플리케이션 아키텍쳐 구축의 필요성으로 프레임워크 등장함
- CBD(component based development)방법론을 기반으로 하는 SPA(Single page application) 대중화로 SPA 프레임워크/라이브러리 다수 등장

 

 

자바스크립트와 ECMAScrpit

 

 

JS의 특징

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

2) 인터프리터 언어이다.

  - 현재 모던 브라우저에서 사용되는 인터프리터는 명시적인 컴파일 단계를 거치지 않지만 일부 소스코드를 컴파일하고 실행하기도 한다.

  - 그러나 JS는 런타임에 컴파일되며, 실행파일이 생성되지 않고, 인터프리터가 필요하므로 인터프리터 언어이다.

3) 멀티 패러다임 프로그래밍 언어이다.

  - 명령형, 함수형, 프로토타입 기반 객체지향 프로그래밍을 지원한다.

4) 프로토타입 기반의 객체지향 언어이다.

 

 

 

 


References...

1) 모던 자바스크립트 Deep Dive, 이웅모, 위키북스

2) https://poiemaweb.com/

 

댓글