JavaScript와 ECMAScript

Ecma 인터내셔널(Ecma International)

Ecma 인터내셔널은 정보 통신에 대한 표준을 제정하는 비영리 표준화 기구 입니다. Ecma에 의해 생성 된 것은 아니지만, 표준의 가장 대표적인 예시 중 하나가 바로 키보드 입니다. 마찬가지로 CD롬 볼륨 파일 구조, C# 언어 규격, JSON 포맷처럼 일부 정보 통신 길술에 대한 표준을 이 단체에서 관라하고 있습니다. 각각의 표준들은 고유한 이름과 번호를 가지고 있는데, 우리는 그 중에서도 ECMA-262라는 표준을 알아봐야 합니다.

ECMA-262

ECMA-262는 Ecma 인터내셔널에 의해 제정된 하나의 기술 규격의 이름으로, 범용 목적의 스크립트 언어에 대한 명세를 담고 있습니다.

스크립트 언어

스크립트 언어는 독립된 시스템에서 작동하도록 특별히 설계된 프로그래밍 언어입니다. 여기서 찾을 수 있는 스크립트 언어의 특징으로는 응용 프로그램과는 독립적이고, 사용자가 직접 프로그램을 의도에 따라 동작시킬 수 있다는 것입니다. 스트립트 언어를 이용한 명령어의 실행이, 시스탬 내부에서 어떤 원리로 동작하는지는 전혀 상관하지 않습니다. 단순히 사용자가 그 프로그램을 의도에 따라 제어할 수만 있다는 것만으로 충분합니다.

ECMAScript

ECMAScript는 Ecma 인터내셔널에 의해 저정된 ECMA-262 기술 규격에 의해 정의된 범용 스크립트 언어입니다. ECMA-262는 표준의 이름이지만, ECMAScript는 ECMA-262에서 정의된 하나의 사양을 의미합니다. ECMAScript는 스크립트 언어가 준수해야 하는 규칙, 세부 사항 및 지침을 제공합니다.

JavaScript

Javascript는 ECMAScript 사양을 준수하는 범용 스크립팅 언어입니다.

JavaScript 엔진 (JavaScript Engine)

JavaScript 엔진은 JavaScript 코드를 이해하고 실행하는 프로그램 또는 인터프리터입니다. JavaScript 엔진에는 여러 종료가 있는데, 예를 들자면 Google Chrome의 V8, Mozila Firefow의 SpiderMonkey, Microsoft Edge의 Chakra 등이 있습니다. 다양한 종류가 있기 때문에, 각각의 JavaScript 엔진들은 다른 것들과 비교할 수 있는 몇 가지 특징을 갖습니다.

  • 수행 능력의 차이: JavaScript 엔진이 얼마나 효율적으로 JavaScript를 처리하고 있는가에 따라 다릅니다.
  • 지원되는 ECMAScript의 차이: 브라우저가 얼마나 JavaScript를 잘 지원하느냐에 관련해서, 사람들은 일반적으로 JavaScript 호환성이라는 단어보다는 ECMAScript 호환성이라는 단어를 더 사용합니다. JavaScript 엔진이 최신 ECMAScript의 사양을 준수하던지 아닌지는 JavaScript 엔진을 담당하는 회사나 조직의 업데이트에 따라 달렸습니다.

ECMAScript 6

ECMAScript 6는 ECMA-262 표준의 제 6판이며, ECMAScript 사양의 주요 변경 사항 및 개성 사할을 명세합니다.

바벨 (Babel)

바벨은 ES6 상으로 작성된 코드를 함수적으로 동일한 ES5 코드로 바꿔줍니다. 대부분의 주요 브라우저는 ES5까지는 지원을 하기 때문에, 개발자들은 브라우저 간 호환성 걱정을 덜 수 있습니다.

출처

-재그지그