ECMA스크립트

위키백과, 우리 모두의 백과사전.
이동: 둘러보기, 검색

ECMA스크립트(ECMAScript)는 Ecma 인터내셔널ECMA-262 기술 규격에 정의된 표준화된 스크립트 프로그래밍 언어이다. 이 언어는 상에서 널리 쓰이며, 흔히 자바스크립트 또는 J스크립트로도 생각할 수 있지만 두 용어는 특별한 의미 차이가 있다. ECMA스크립트와 자바스크립트, J스크립트의 관계를 이해하기 위해서는 ECMA스크립트의 역사를 알아야 한다.

이 언어에 대한 소개는 자바스크립트 항목을 참고하면 된다.

역사[편집]

1996년 3월, 넷스케이프 커뮤니케이션 코퍼레이션에서 넷스케이프 네비게이터 2.0을 출시하면서 자바스크립트를 지원하기 시작했다. 웹 페이지 동작을 향상시키는 언어로서 자바스크립트의 성공은, 마이크로소프트가 이와 "적당히" 호환되는 J스크립트를 개발하는 계기가 되었다. J스크립트는 1996년 8월, 인터넷 익스플로러 3.0에 포함되어 출시되었다.

넷스케이프는 표준화를 위해 자바스크립트 기술 규격을 ECMA 인터내셔널에 제출하였고, 이 규격에 대한 작업은 ECMA-262의 이름으로 1996년 11월부터 시작됐다. ECMA-262의 초판은 ECMA 일반 회의에서 1997년 6월 채택됐다.

ECMA스크립트는 ECMA-262에 의해 표준화된 언어의 이름이다. 자바스크립트와 J스크립트는 모두 ECMA스크립트와의 호환을 목표로 하면서, ECMA 규격에 포함되지 않는 확장 기능을 제공한다.

종류[편집]

ECMA-262는 지금까지 세 개의 판이 출시되었고, 현재 5.1 버전(2011.6월)이 최신버전이다. (4판은 버려짐).

출판일 이전 판과의 차이점
1 1997년 6월 초판
2 1998년 6월 ISO/IEC 16262 국제 표준과 완전히 동일한 규격을 적용하기 위한 변경.
3 1999년 12월 강력한 정규 표현식, 향상된 문자열 처리, 새로운 제어문 , try/catch 예외 처리, 엄격한 오류 정의, 수치형 출력의 포매팅 등.
4 버려짐 4번째 판은 언어에 얽힌 정치적 차이로 인해 버려졌다. 이 판을 작업 가운데 일부는 5번째 판을 이루는 기본이 되고 다른 일부는 ECMA스크립트의 기본을 이루고 있다.
5 2009년 12월 더 철저한 오류 검사를 제공하고 오류 경향이 있는 구조를 피하는 하부집합인 "strict mode"를 추가한다. 3번째 판의 규격에 있던 수많은 애매한 부분을 명확히 한다.[1]
5.1 2011년6월 ECMA스크립트 표준의 제 5.1판은 ISO/IEC 16262:2011 국제 표준 제3판과 함께 한다.
하모니(Harmony) 작업 중 여러 개의 새로운 개념과 언어 기능.

2004년 6월에 ECMA 인터내셔널은 E4X(XML을 위한 ECMA스크립트)로 알려진 ECMA스크립트의 확장을 정의하는 ECMA-357을 출판했다.

ECMA스크립트, 자바스크립트, J스크립트 버전 간 대응[편집]

아래의 표는 [1][2]를 기초로 작성되었다. 같은 행에 있는 경우 거의 유사한 언어로 간주할 수 있다.

자바스크립트 J스크립트 ECMA스크립트
1.0 (넷스케이프 2.0, 1996년 3월) 1.0 (IE 3.0 - 초기 버전, 1996년 8월)
1.1 (넷스케이프 3.0, 1996년 8월) 2.0 (IE 3.0 - 후기 버전, 1997년 1월)
1.2 (넷스케이프 4.0, 1997년 6월)
1.3 (넷스케이프 4.5, 1998년 10월) 3.0 (IE 4.0, 1997년 10월) 초판 (1997년 6월) / 2판 (1998년 6월)
1.4 (넷스케이프 서버에만 사용됨) 4.0 (비주얼 스튜디오 6, IE에는 사용되지 않음)
5.0 (IE 5.0, 1999년 3월)
5.1 (IE 5.01)
1.5 (넷스케이프 6.0, 2000년 11월;
이후의 넷스케이프와 모질라의 모든 버전에 포함됨)
5.5 (IE 5.5, 2000년 7월) 3판 (1999년 12월)
5.6 (IE 6.0, 2001년 10월)
J스크립트 .NET (ASP.NET; IE에는 포함되지 않음) (J스크립트 .NET은 설계 과정에서 다른 ECMA 회원의 참여가 있었다고 함)
자바스크립트 2.0 (제안) 4판 (진행 중)

주석[편집]

  1. Changes to JavaScript, Part 1: EcmaScript 5

바깥 고리[편집]