ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • 2장 자바스크립트란?
    FrontEnd/JavaScript 2021. 12. 1. 17:06
    반응형

    2.1 자바스크립트의 탄생

    1995년 가장 높은 점유율로 시장을 지배하고 있던 넷스케이프 커뮤니케이션즈에서 

    웹페이지의 보보적인 기능을 수행하기 위해 브라우저에서 동작하는 경량프로그래밍 언어를 도입하기로 결정한다.

    만든 사람은 브렌던 아이크(Brendan Eich)이다.

     

    2.2 자바스크립트의 표준화

    이후 MS에서 자바스크립트의 파생 버전인 "Jscript"를 인터넷 익스플로러3.0에 탑재한다.

    그러나 Jscript와 자바스크립트가 표준화되지 못하고 적당히 호환된 것이 문제였다.

    이로인해 크로스 브라우징 이슈가 발생하기 시작했고 모든 브라우저에서 동작하는 웹개발이 무척 어려워졌다.

     

    넷스케이프 커뮤니케이션즈는 컴퓨터 시스템 표준을 관리하는 ECMA인터내셔널에 Javascript표준화를 요청한다.

    이후 ECMAscript로 명명되어 세상에 공개되었고 ES를 사용하여 버전을 관리하고 있다.

     

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

    1. Ajax

    이전의 웹페이지는 html 태그로시작해서 html 태그로 끝나는

    완전한 HTML코드를 서버로부터 전송받아 웹페이지 전체를 렌더링하는 방식으로 동작했다.

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

    Ajax의 등장은 서버로부터 필요한 데이터만 정송받아 변경해야 하는 부분만 한정적으로 렌더링했다.

    이로서 웹에서도 Desktop APP과 유사한 빠른 성는과 부드러운 화면전환이 가능해졌다.

     

    2. jQuery

    jQuery의 등장으로 DOM(Document Object Model)을 더욱 쉽게 제어할 수 있게 되었다.

     

    3. V8자바스크립트 엔진

    구글에서 개발한 V8 자바스크립트 엔진은 JS를 더욱 빠르게 동작하게 해주었다.

     

    4. Node.js

    Node.js는 브라우저의 자바스크립트 엔진에서만 동작하던 자바스크립트를 

    브라우저 이외의 환경에서도 동작할 수 있도록 브라우저에서 독립시킨 자바스크립트 실행 환경이다.

     

    5. SPA 프레임워크

    Single Page Applicatio이 대중화되면서 Angular, React, Vue.js, Svelte등 다양한 SPA 프레임워크 / 

    라이브러리 또한 많은 사용층을 확보하고 있다.

     

    2.4 자바스크립트와 ECMAScript

    ECMAScript는 자바스크리트의 표준 사양인 ECMA-262를 말하며

    프로그래밍 언어의 값, 타입, 객체 등 핵심 문법을 규정한다.

     

    자바스크립트는 일반적으로 프로그래밍 언어로서 기본 뼈대를 이루는 ECMASccript와

    브라우저가 별도 지원하는 클라이언트 사이드 Web API를 아우르는 개념이다.

     

    2.5 자바스크립트의 특징

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

    자바스크립트는 명령형, 함수형, 프로토타입 기반 객체지향 프로그래밍을 지원하는

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

    자바스크립트는 클래스 기반 객체지향 언어보다 효율적이면서 강력한 프로토타입 기반의 객체지향 언어이다

     

     

    위 내용은 모던 자바스크립트 Deep Dive를 공부한 내용으로

    책의 내용의 일부를 포함하고 있습니다.

    반응형

    'FrontEnd > JavaScript' 카테고리의 다른 글

    6장 데이터 타입  (0) 2021.12.10
    5장 표현식과 문  (0) 2021.12.05
    4장 변수  (0) 2021.12.04
    3장 자바스크립트 개발 환경과 실행 방법  (0) 2021.12.02
    1장 프로그래밍  (0) 2021.12.01

    댓글

Designed by Tistory.