#2 자바스크립트란?

cho·2022년 8월 3일
0

js-deepdive

목록 보기
1/1
post-thumbnail

자바스크립트 성장의 역사

  • 초창기 자바스크립트는 웹페이지의 보조적인 기능을 수행하기 위해 한정적인 용도로 사용되었다. 대부분 로직은 웹서버에서 실행되었고, 브라우저는 HTML, CSS를 단순히 렌더링하는 수준이었다.
  1. Ajax
    • 서버와 브라우저가 비동기 방식으로 데이터를 교환할 수 있는 통신 기능
    • 🚨 변경이 필요 없는 부분까지 처음부터 다시 렌더링해야하는 문제가 있었는데,
      Ajax가 등장함으로써, 변경되어야 하는 부분만 다시 렌더링하도록 하는 방식
  2. jQuery
    • 번거롭던 DOM을 더욱 쉽게 제어할 수 있게 되었다.
  3. V8 자바스크립트 엔진
    • 빠르게 동작하는 자바스크립트 엔진의 필요성이 대두되면서 등장했다.
    • V8 자바스크립트 엔진으로 시작된 JS의 발전으로 과거 웹서버에서 수행되던 로직들이 대거 클라이언트로 이동했고, 프런트엔드 영역이 주목받는 계기가 되었다.
  4. Node.js
    • V8 자바스크립트 엔진으로 빌드된 자바스크립트 런타임 환경이다.
    • 브라우저의 자바스크립트 엔진에서만 동작하던 자바스크립트를, 브라우저 이외의 환경에서도 동작할 수 있도록 독립시킨 JS 실행 환경이다.
    • 자바스크립트는 크로스 플랫폼을 위한 중요 언어로 주목받고 있다.
      • 크로스 플랫폼: 크로스 + 플랫폼 ⇒ 다양한 플랫폼에서 사용할 수 있는 언어 (Window, mac, Linux 등)
  5. SPA 프레임워크
    • Single Page Application이란 뜻
    • 한개의 페이지로 구성되어 있으며, 서버에 요청이 있을 때마다 신규페이지를 불러와 그리는 MPA 방식이 아닌 Client 상에서 Rendering 이루어지는 방식으로 동작
    • CBD 방법론 기반 (Component based development)

자바스크립트의 특징

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

  • 개발자가 별도의 컴파일 작업을 수행하지 않는 인터프리터 언어

  • 대부분 모던 자바스크립트 엔진이 인터프리터+컴파일러를 결합해 느린 인터프리터의 단점을 해결했다.

  • 런타임에 컴파일되며, 실행 파일이 생성되지 않고 인터프리터 도움 없이 실행할 수 없기 때문에 컴파일러 언어라고는 할 수 없다.

  • 명령형, 함수형, 객체지향 프로그래밍(프로토타입 기반/클래스 기반 x) 지원하는 멀티 패러다임 프로그래밍 언어이다.

    ➕ 익스폴로러/구형 브라우저 고려해야한다면 바벨과 같은 트랜스파일러를 사용해 소스코드를 다운그레이드 해야한다.

0개의 댓글