JScript   Java Script, Javascript   자바 스크립트

(2024-07-17)

자바스크립트 언어, ECMAScript


1. 자바 스크립트 언어

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

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


2. 자바 스크립트 특징 

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

  ㅇ 언어적 특징
     * (다음의 여러 특징들을 함께 지원하는 멀티 패러다임 프로그래밍 언어)

     - 명령형 프로그래밍(Imperative Programming)은, 기본 지원

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

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

     - 이벤트 주도형(event-driven) 프로그래밍 언어자바스크립트 이벤트 참조
        . 사용자가 행동하기를 기다렸다가 반응하는 이벤트 처리 위주의 언어

     - 동적인 프로그래밍 언어
        . 언어 내부에서 상태 관리를 해주지 않고, 개발자에게 전적으로 맡기는 동적인 플랫폼 지향

  ㅇ 변수 : 동적 타입 및 바인딩자바스크립트 타입 참조
     - 명시적인 변수 선언은 var,let 이라는 단순한 예약어 만 쓰면 가능
     - 변수의 타입이 엄격하지 않음 (loosely typed)
        . 다만, 각 변수가 유일한 이름 만 있으면 됨
     - 실행 도중에도 변수에 저장된 데이터 타입이 동적으로 바뀔 수 있음
        . 즉, 동적 바인딩으로 개체 참조(연관,association)가 실시간으로 이루어짐

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

  ㅇ 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월)
        . ES6 때 문법이 크게 바뀌어, 이후를 `모던 자바스크립트`라고 칭함
        . 例) 문자열 템플릿, 화살표 함수, let,const 선언자, 이터레이터/제너레이터5. 자바스크립트 엔진 명칭

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

  ㅇ 주요 웹브라우저의 자바스크립트 엔진 명칭
     - 파이어폭스  :  SpiderMonkey
     - 인터넷 익스플로러, 엣지  :  Chakra
     - 사파리  :  JavaScriptCore
     - 크롬, Node.js  :  V8

자바스크립트
   1. JavaScript   2. JS 기초 문법  


"본 웹사이트 내 모든 저작물은 원출처를 밝히는 한 자유롭게 사용(상업화포함) 가능합니다"