seunghyun Note

2장 (자바스크립트란?) 본문

스터디/모던자바스크립트 deep dive

2장 (자바스크립트란?)

승숭슝현 2024. 1. 7. 20:41

2.1 자바스크립트의 탄생

  • 자바스크립트는 현재 모든 브라우저의 표준 프로그래밍 언어로 자리 잡았다.

2.2 자바스크립트의 표준화

  • 크로스 브라우징 이슈 : 브라우저에 따라 웹페이지가 정상적으로 동작하지 않는 상태 => 모든 브라우저에서 정상적으로 동작하는 웹페이지를 개발하기가 매우 어려웠다

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

  • 초창기 자바스크립트는 웹페이지의 보조적인 기능을 수행하기 위해 한정적인 용도 였다. -> 단순한 html,css 렌더링의 수준
  • Ajax : 서버와 브라우저가 비동기 방식으로 데이터를 교환할 수 있는 통신 기능
  • JQuery: DOM 을 더욱 쉽게 제어할 수 있는 존재, 크로스 브라우징 이슈도 해결
  • V8 자바스크립트 엔진 : 자바스크립트의 엔진의 필요성이 대두되면서 자바스크립트는 데스크톱 애플리케이션과 유사한 사용자 경험을 제공할 수 있는 웹 애플리케이션 프로그래밍 언어로 정착하게 되었다.
  • Node.js : 런타임 환경, 비동기 I/O 를 지원하며 단일 스레드 이벤트 루프 기반으로 동작함으로써 요청 처리 성능이 좋다.
  • SPA 프레임워크 : 개발 과정을 수행하기 어려워졌고 이러한 필요에 따라 많은 패턴과 라이브러리가 출현했다. => 필연적으로 프레임워크가 등장하게 되었다.
    • CBD 방법론을 기반으로 하는 SPA 가 대중화되면서 Angular, React, Vue.js 등등이 확보되었다.

2.4 자바스크립트와 ECMAScrpit

  • 자바스크립트는 일반적으로 프로그래밍 언어로서 기본 뼈대를 이루는 ECMAScrpit와 브라우저가 별도 지원하는 클라이언트 사이드 Web API, 즉 BOM,Canvas,XMLHttpRequest 등을 아우르는 개념이다.

2.5 자바스크립트의 특징

  • 자바스크립트는 HTML,CSS와 함께하는 요소 중 하나로 웹 브라우저에서 동작하는 유일한 프로그래밍 언어이다.
  • 개발자가 별도의 컴파일 작업을 수행하지 않는 인터프립터 언어이다.
    • 컴파일러 언어:
      • 소스코드 전체를 한번에 머신코드로 변환한 후 실행
      • 실행 파일을 생성
      • 컴파일 단계와 실행 단계가 분리
      • 컴파일은 단 한번 수행
      • 컴파일과 실행 단계가 분리
    • 인터프리터 언어:
      • 런타임에 문 단위로 한 줄씩 중간코드인 바이트코드로 변환한 후 실행
      • 실행 파일을 생성x
      • 실행 단계 분리 x
      • 인터프리트 과정이 반복 수행
      • 코드 실행 속도가 비교적 느림
    • 자바스크립트 명령형,함수형,프로토타입 기반 객체지향 프로그래밍을 지원하는 멀티 패러다임 프로그래밍 언어이다.

2.6 ES6 브라우저 지원 현황

728x90

'스터디 > 모던자바스크립트 deep dive' 카테고리의 다른 글

6장 (데이터 타입)  (1) 2024.01.07
5장 (표현식과 문)  (0) 2024.01.07
4장 (변수)  (0) 2024.01.07
3장(자바스크립트  (0) 2024.01.07
1장 (프로그래밍)  (0) 2024.01.07