JavaScript, JScript   Java Script, Javascript   자바 스크립트

(2018-09-03)

자바스크립트 언어, ECMAScript

Top > [기술공통]
[기초과학]
[진동/파동]
[방송/멀티미디어/정보이론]
[전기전자공학]
[통신/네트워킹]
[정보기술(IT)]
[공업일반(기계,재료등)]
[표준/계측/품질]
[기술경영]
정보기술(IT) >   1. 정보기술
[전산기초]
[컴퓨터구조]
[프로그래밍]
[데이터베이스]
[소프트웨어 공학]
[운영체제]
[정보보호/보안]
[IT 기타기술]
프로그래밍 >   1. 프로그램,프로그래밍
[프로그래밍 언어론]
[객체지향]
[자료구조]
[알고리즘]
[자료표현(알파벳/코드)]
[시스템 소프트웨어]
[프로그래밍언어 종류]
[프로그래밍 기타일반]
프로그래밍언어 종류 >   1. 프로그래밍 언어
  2. 어셈블리언어
[C]
[자바(Java)]
[자바스크립트]
[PHP]
[(기타 언어)]
자바스크립트   1. JavaScript
  2. JS 연산자
  3. 기초 문법
[JS 변수,타입]
[JS 이벤트]
[JS 함수]
[JS 객체]
[JS 배열]
[JS 활용]
[jQuery]

Top > [기술공통]
[기초과학]
[진동/파동]
[방송/멀티미디어/정보이론]
[전기전자공학]
[통신/네트워킹]
[정보기술(IT)]
[공업일반(기계,재료등)]
[표준/계측/품질]
[기술경영]
통신/네트워킹 >   1. 통신 이란?
  2. 신뢰적 통신
[통신이론]
[선로/전송]
[통신망 일반]
[회선교환(PSTN)]
[무선/이동통신]
[광통신]
[인터넷/데이터통신]
인터넷/데이터통신 >   1. 데이터통신망
  2. 인터넷
  3. 데이터 네트워크 설계
[데이터 단위]
[프로토콜/계층]
[데이터 링크]
[TCP/IP]
[라우팅]
[인터넷 QoS]
[인터넷 관리]
[인터넷 응용]
[인터넷 기타]
[패킷교환(PSN)]
[인터넷 관련 기관]
인터넷 응용 > [NetBIOS]
[DNS]
[가상단말]
[FTP]
[전자메일]
[VoIP]
[웹기술]
[VPN]
[무선인터넷]
[전자상거래]
[개인 컨텐츠]
[인터넷 기타 응용]
웹기술 >   1. 웹 이란?
  2. 하이퍼텍스트
[웹 구성]
[HTTP]
[웹 페이지]
[웹 식별]
[웹 서비스]
[차세대 웹]
[웹기술 기타일반]
웹 페이지 > [마크업 언어]
[스크립트 언어]
[DOM,BOM]
[기능 요소]
[웹 디자인]
스크립트 언어   1. JSP
  2. PHP
  3. Perl
  4. Javascript

1. 자바 스크립트 언어

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

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


2. 자바 스크립트 특징 

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

  ㅇ 언어적 특징
     - 객체 기반의 언어자바스크립트 객체 참조
        . 자바스크립트는, 자바 언어처럼 클래스 기반의 상속 등과 같은 객체지향 언어에서의
           .. 전통적인 특성을 지원하지 않으므로, 진정한 객체지향 언어는 아니고,
           .. 다만, 객체를 다루기 때문에 객체기반의 언어(Object-Based 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 연산자 3. 기초 문법
[JS 변수,타입] [JS 이벤트] [JS 함수] [JS 객체] [JS 배열] [JS 활용] [jQuery]
  1.   기술공통
  2.   기초과학
  3.   진동/파동
  4.   방송/멀티미디어/정보이론
  5.   전기전자공학
  6.   통신/네트워킹
  7.   정보기술(IT)
        1. 정보기술
    1.   전산기초
    2.   컴퓨터구조
    3.   프로그래밍
          1. 프로그램,프로그래밍
      1.   프로그래밍 언어론
      2.   객체지향
      3.   자료구조
      4.   알고리즘
      5.   자료표현(알파벳/코드)
      6.   시스템 소프트웨어
      7.   프로그래밍언어 종류
            1. 프로그래밍 언어
            2. 어셈블리언어
        1.   C
        2.   자바(Java)
        3.   자바스크립트
              1. JavaScript
              2. JS 연산자
              3. 기초 문법
          1.   JS 변수,타입
          2.   JS 이벤트
          3.   JS 함수
          4.   JS 객체
          5.   JS 배열
          6.   JS 활용
          7.   jQuery
        4.   PHP
        5.   (기타 언어)
      8.   프로그래밍 기타일반
    4.   데이터베이스
    5.   소프트웨어 공학
    6.   운영체제
    7.   정보보호/보안
    8.   IT 기타기술
  8.   공업일반(기계,재료등)
  9.   표준/계측/품질
  10.   기술경영

 
        최근수정     요약목록(시험중)     참고문헌