정의
ECMA스크립트(ECMAScript)는 스카이프트 기반의 프로그래밍 언어를 위한 표준 사양으로, ECMAScript 사양에 따라 구현된 대표적인 언어는 자바스크립트(JavaScript)이다. 이 표준은 ECMA 국제(ECMA International)에 의해 제정 및 유지 관리되며, 웹 브라우저 및 서버 측 자바스크립트 실행 환경에서의 언어 동작을 규정한다.
개요
ECMA스크립트는 1996년 넷스케이프(Netscape)가 개발한 자바스크립트 언어를 표준화하기 위해 제안된 이후, ECMA 국제의 기술 위원회인 TC39(TC39 - Ecma Technical Committee 39)에 의해 지속적으로 발전되어 왔다. 표준화된 언어 사양은 다양한 자바스크립트 엔진(예: V8, JavaScriptCore, SpiderMonkey 등)에서 구현되며, 웹 표준의 핵심 요소 중 하나로 간주된다.
ECMA스크립트는 매년 새로운 버전이 발표되며, 대표적인 주요 버전으로는 ES5(2009년), ES6/ES2015(2015년), ES2016 이후 연도 기반 명명 체계로 전환되었다. 최근 버전은 기능 향상, 문법 확장, 비동기 프로그래밍 지원(예: async/await), 모듈 시스템 등 다양한 최신 프로그래밍 패러다임을 포함하고 있다.
어원/유래
"ECMA스크립트"라는 명칭은 표준화 기관인 ECMA 국제(ECMA International, 이전 명칭: European Computer Manufacturers Association)에서 유래하였다. 자바스크립트는 원래 넷스케이프에서 개발한 상표명이었으나, 표준화 과정에서 상표권 문제를 회피하고 중립적인 이름을 사용하기 위해 "ECMAScript"라는 이름이 채택되었다. 공식 사양 문서인 ECMA-262에서 이 언어의 명칭은 "ECMAScript"로 명기되어 있다.
특징
- 표준 기반 사양: 언어의 구문, 데이터 타입, 객체, 실행 모델 등을 공식 문서(ECMA-262)에 명세하며, 다양한 구현자가 이를 기반으로 언어 엔진을 개발한다.
- 점진적 발전: 연도 기반 릴리스 체계(예: ES2015, ES2020)를 도입하여 안정적인 표준화와 신속한 기능 추가를 추구한다.
- 다중 패러다임 지원: 절차적 프로그래밍, 객체지향 프로그래밍, 함수형 프로그래밍 패러다임을 모두 지원한다.
- 크로스 플랫폼 호환성: 웹 브라우저 외에도 Node.js와 같은 서버 사이드 환경, 모바일 앱 프레임워크(예: React Native) 등에서도 널리 사용된다.
- 호환성 유지: 이전 버전의 코드가 새 버전에서 계속 작동하도록 하기 위해 레거시 기능의 제거를 최소화한다.
관련 항목
- 자바스크립트 (JavaScript)
- ECMAScript 사양 (ECMA-262)
- ECMA 국제 (Ecma International)
- TC39 (Ecma Technical Committee 39)
- V8 엔진
- Node.js
- 웹 표준 (Web standards)
- ECMAScript 버전 목록 (ES3, ES5, ES6/ES2015, ES2016 등)