ECMA Script(ES) 란?

Woody·2023년 3월 29일
0

CS

목록 보기
2/2

널리 사용되는 프로그래밍 언어인 JavaScript는 Netscape Communications에서 일하던 Brendan Eich가 1995년에 처음 만들었습니다. 원래 Mocha라고 불렸던 이 언어는 나중에 LiveScript로, 마지막으로 JavaScript로 이름이 바뀌었습니다. 인기가 높아짐에 따라 서로 다른 플랫폼 간의 호환성과 상호 운용성을 보장하기 위해 표준화된 버전의 필요성이 대두되었습니다.

1996년에 Netscape는 표준화된 버전을 개발하기 위해 JavaScript를 ECMA에 제출하여 ECMAScript라고도 알려진 ECMA-262 표준을 만들었습니다. ECMAScript는 다양한 웹 브라우저 및 환경에서 사용할 수 있는 벤더 중립적인 스크립팅 언어를 제공하는 것을 목표로 했습니다. 오늘날 JavaScript는 ECMAScript 표준의 가장 널리 채택된 구현으로 남아 있습니다.

ECMAScript의 버전

처음부터 ECMAScript 표준은 여러 개정을 거쳐 각각 새로운 기능과 개선 사항을 도입했습니다. 최근 역사에서 가장 주목할만한 변화는 공식적으로 ECMAScript 2015로 알려진 ECMAScript 5와 ECMAScript 6 사이에 발생했습니다.

ES3(1999)
우리가 흔히 말하는 자바스크립트 입니다. 함수 단위의 스코프, 호이스팅, 모듈화 미지원, 프로토타입, 클로저 등등 자바스크립트의 기본적인 특징들이 들어있습니다.

ES5(2009)

2009년에 출시된 ECMAScript 5는 언어의 견고성, 보안 및 유용성을 개선하기 위한 수많은 개선 사항을 도입했습니다. ECMAScript 5의 주요 기능은 다음과 같습니다.

  • Strict 모드: 문제가 있거나 오류가 발생하기 쉬운 특정 기능을 허용하지 않는 JavaScript의 보다 제한적인 변형으로, 더 안전하고 신뢰할 수 있는 코드를 더 쉽게 작성할 수 있습니다.
  • 기본 JSON 지원: JSON(JavaScript Object Notation) 데이터로 작업하는 표준화된 방법으로 JSON 개체를 보다 효율적이고 안전하게 구문 분석하고 문자열화할 수 있습니다.
  • 새로운 배열 방법: forEach, 맵 및 필터와 같은 추가 내장 배열 방법으로 개발자의 배열 작업 능력이 향상됩니다.

ES6(2015)

ECMAScript 2015로도 알려진 ECMAScript 6는 언어 개발에서 중요한 이정표를 세웠습니다. 다음을 포함하여 수많은 새로운 기능과 향상된 기능을 도입했습니다.

  • Let 및 const: 범위 및 변경 가능성을 더 잘 제어할 수 있는 변수를 선언하는 새로운 방법입니다.
  • 화살표 함수: 함수 표현식을 작성하기 위한 보다 간결한 구문으로 코드를 더 읽기 쉽고 유지 관리할 수 있습니다.
  • 클래스: JavaScript에서 개체 지향 프로그래밍 패턴으로 작업하는 보다 친숙하고 구조화된 방식으로 상속 및 개체 생성을 단순화합니다.
  • Promise: 비동기 작업을 처리하는 표준 방식으로 복잡한 비동기 코드 체인을 쉽게 관리하고 추론할 수 있습니다.
  • 모듈: 개발자가 코드를 모듈식으로 유지 관리할 수 있는 방식으로 구성할 수 있는 내장 모듈 시스템입니다.

ES8 (2017)

  • Async - Await 추가
  • 문자 앞 뒤 간격 조절에 사용되는 .pad() 함수 지원
  • key, value에 대한 손쉬운 반복문이 가능해짐

특히 ES8부터는 익스플로러에서 지원을 하지 않아 기존의 개발자들이 큰 불편함을 겪었다. 현재는 지원이 종료되어 사용하는곳이 줄어서 크게 신경쓰지 않아도 되는 부분.

출처 : http://kangax.github.io/compat-table/es2016plus/

이후에도 많은 기능들이 계속 추가되고있으며, 해당 기능들에 대한 호환성을 확인하며 사용하면 좋을것이다.

항상 최신의 버전을 확인하고, 새로운 기능으로 개선될 수 있는점을 찾아보는 습관은 중요하기 때문에 매년 기능에 대한 발표를 찾아보도록하자

profile
프론트엔드 개발자로 살아가기

0개의 댓글