JScript   Java Script, Javascript   자바 스크립트

(2019-02-02)

자바스크립트 언어, ECMAScript

1. 자바 스크립트 언어

  ㅇ 매우 유연하고 동적인 제어가 가능한 언어

  ㅇ 주로, 웹 페이지의 요소들의 제어를 위해 HTML 문서에 통합 작성할 수 있는 스크립트 언어 
     - 지금은 웹 페이지 이외에도 사용 가능
        . 초기에는 웹 브라우저에서 만 동작 가능하였지만,
        . 점차, 데스크톱, 서버 등에서도 실행 가능한 환경이 나타나고 있음


2. 자바 스크립트 특징 

  ㅇ 실행 방식 : 인터프리터 형태의 언어
     - 클라이언트(웹브라우저 등)에 의해서 실시간 번역 실행되며 컴파일되지 않음

  ㅇ 언어적 특징
     - 객체 기반의 언어 (Object-Based Language)              ☞ 자바스크립트 객체 참조
        . 자바스크립트는, 자바 언어처럼 클래스 기반의 상속 등과 같은 객체지향 언어에서의
           .. 전통적인 특성을 지원하지 않으므로, 진정한 객체지향 언어는 아니고,
           .. 다만, 객체를 다루기 때문에 객체기반의 언어라고함
        . 따라서, 클래스 기반의 객체지향 언어가 아닌, 프로토타입 기반의 객체지향 언어 임
           .. 클래스 정의 방식이 아니고, 객체인스턴스를 만들 때 재사용이 일어남
           .. (프로토타입 : 어떤 객체의 원본/원형이 되는 객체)
           .. 기존에 만들어진 객체의 복제에 의해 새로운 객체를 생성함
           .. 객체 생성 후에도 프로퍼티,메소드를 동적으로 추가,삭제 가능

     - 함수형 프로그래밍 언어 (Functional Programming Language)    ☞ 자바스크립트 함수 참조
        . 함수객체 처럼 다루고, 함수함수를 인수로 넘기고, 함수 리터럴이 존재하는 등

     - 이벤트 주도형(event-driven) 프로그래밍 언어자바스크립트 이벤트 참조
        . 사용자가 행동하기를 기다렸다가 반응하는 이벤트 처리 위주의 언어변수 : 동적 타입 및 바인딩자바스크립트 타입 참조
     - 명시적인 변수 선언은 var 라는 예약어 하나로 가능
     - 변수의 타입이 엄격하지 않음
        . 다만, 각 변수가 유일한 이름 만 있으면 됨
     - 실행 도중에도 변수에 저장된 데이터 타입이 동적으로 바뀔 수 있음
        . 즉, 동적 바인딩으로 개체 참조(연관,association)가 실시간으로 이루어짐

  ㅇ 네임스페이스 지원 문법이 없음
     - 전역 객체선언하여 관련된 모든 속성,메소드를 그 객체속성으로 만들어 사용함
        . 例) var NameSpace = {};

  ㅇ HTML 문서 적용 관련                                        ☞ 웹문서 자바스크립트 참조
     - 정적인 HTML 문서에 동적으로 변화시킬 수 있는 효과를 줌
        . 웹페이지가 사용자 동작에 반응하는 역동적 효과를 줌

     - 적용방법 : HTML 문법에 자연스럽게 연결시켜 실행되는 방법을 채택
        . HTML의 확장이며, HTML 문서 내에 자바스크립트 코드가 내장

  ㅇ 비동기프로그래밍 가능
     - 패러다임 변천 : 콜백함수프라미스 → 제너레이터

  ㅇ 기타
     - 디스크 쓰기 : 금지
     - 코딩 난이도 : 다소 쉬움


3. 자바스크립트 역사

  ㅇ 만든이 : 넷스케이프社의 Brenden Eich
  ㅇ JavaScript를 최초로 웹브라우저에 도입 : 넷스케이프社의 네비게이터
     - 1996년 당시에 사실상의 표준 : Netscape 3


4. 자바스크립트 표준 : ECMAScript 

  ㅇ ECMA의 TC-39 위원회에서, ECMA-262라는 규격명으로, 1997년부터 작업이 계속 진행중
     - (ECMAScript : 자바스크립트 언어의 내장 코어 부분을 일컬음)

  ㅇ ECMAScript는 주로 자바 스크립트 언어의 내장 코어 부분 만을 언급
     - ECMAScript 3 : 과거 거의 모든 웹브라우저 엔진이 이를 지원 (1999년)
     - ECMAScript 5 : (5 : 2009, 5.1 : 2011년)
     - ECMAScript 6 : 현재의 웹브라우저에 적용되는 가장 보편적인 버전 (2015년6월)
        . 例) 문자열 템플릿, 화살표 함수, let,const 선언자, 이터레이터/제너레이터 등


5. 자바스크립트 엔진 명칭

  ㅇ 자바스크립트 엔진 
     - ECMAScript 규격을 따르며 자바스크립트 언어컴파일,실행하는 주체

  ㅇ 주요 웹브라우저의 자바스크립트 엔진
     - 파이어폭스 : SpiderMonkey
     - 인터넷 익스플로러 : Jscript
     - 사파리 : JavaScriptCore
     - 크롬 : V8


[자바스크립트] 1. JavaScript 2. 기초 문법
[JS 변수,타입] [JS 연산자] [JS 함수] [JS 객체] [JS 배열] [JS 활용] [JS 웹문서 제어]

 
        최근수정     요약목록     참고문헌