JavaScript는 웹 페이지를 동적으로 만들기 위해 사용되는 프로그래밍 언어다. JavaScript의 기능과 사용 범위는 시간이 지남에 따라 크게 확장되었고, 현재는 웹 개발뿐만 아니라 서버 사이드 개발, 모바일 애플리케이션 개발 등 다양한 분야에서 널리 사용되고 있다. JavaScript의 표준화와 발전에 있어 중요한 역할을 하는 것이 바로 ECMAScript다.
ECMAScript
ECMAScript는 JavaScript의 표준 사양으로, ECMA 국제 기구에 의해 표준화된 ECMA-262 사양을 말한다. ECMAScript는 JavaScript의 핵심 문법을 정의하며, 변수, 타입, 객체, 함수 등 프로그래밍 언어로서의 기본 구조와 표준 내장 객체를 규정한다. ECMAScript 사양은 JavaScript가 어떻게 동작해야 하는지에 대한 기준을 제공한다.
각 브라우저 제조사는 ECMAScript 사양을 준수하여 자사의 브라우저에 내장되는 JavaScript 엔진을 구현한다. 이는 모든 브라우저에서 일관된 JavaScript의 동작을 보장하기 위함이다. 따라서 JavaScript의 신문법이 도입되는 것은 ECMAScript 규정의 변화를 반영하여 브라우저의 JavaScript 엔진이 수정되면서 가능해진다.
JavaScript
JavaScript는 ECMAScript와 더불어 브라우저가 제공하는 다양한 클라이언트 사이드 Web API(DOM, BOM, Canvas, XMLHttpRequest 등)를 포함하는 개념이다. 이러한 API들은 웹 페이지의 동적인 변경, 비동기 통신, 그래픽 작업 등을 가능하게 한다.
서버 사이드에서, 특히 Node.js 환경에서는 클라이언트 사이드 Web API 대신 Node.js 자체가 제공하는 다양한 API를 사용한다. 이는 JavaScript가 브라우저 환경뿐만 아니라 서버 사이드 개발에도 사용될 수 있음을 의미한다.
JavaScript는 웹 브라우저에서 실행될 수 있는 유일한 프로그래밍 언어로서, 인터프리터 언어이며, 명령형, 함수형, 프로토타입 기반, 객체지향 프로그래밍을 지원하는 멀티 패러다임 프로그래밍 언어다. 특히, 프로토타입 기반의 객체 지향 언어라는 특성은 JavaScript가 갖는 독특한 측면 중 하나다.