JAVA SCRIPT

[JS] ES6에 대해서

해봄코딩 2022. 12. 10. 09:44

여기 저기서 "ES6부터 ~" 라는 말을 많이 들어서 무엇인가 찾아보았다. 

 


ES6란?

먼저 ES는 ECMAScript 의 약자다.  6은 6번째 ES라고 보면 된다. 


ECMAScript란? 

위키백과에 다음과 같이 정리되어 있다.
ECMAScript 는 Ecma 인터내셔널의 ECMA-262 기술 규격에 정의된 표준화된 스크립트 프로그래밍 언어입니다. 자바스크립트를 표준화하기 위해서 만들어졌다. 

(ECMA은 European Computer Manufacturers Association 약자)


JSMAScript의 역사 

출판일  이름  이전판과의 차이점 
1 1997년 6월   초판
2 1998년 6월   ISO/IEC 16262 국제 표준과 완전히 동일한 규격을 적용하기 위한 변경.
3 1999년 12월   강력한 정규 표현식, 향상된 문자열 처리, 새로운 제어문 , try/catch 예외 처리, 엄격한 오류 정의, 수치형 출력의 포매팅 등.
4 버려짐                        4번째 판은 언어에 얽힌 정치적 차이로 인해 버려졌다. 이 판을 작업 가운데 일부는 5번째 판을 이루는 기본이 되고 다른 일부는 ECMA스크립트의 기본을 이루고 있다.
5 2009년 12월   더 철저한 오류 검사를 제공하고 오류 경향이 있는 구조를 피하는 하부집합인 "strict mode"를 추가한다. 3번째 판의 규격에 있던 수많은 애매한 부분을 명확히 한다.[3]
5.1 2011년 6월   ECMA스크립트 표준의 제 5.1판은 ISO/IEC 16262:2011 국제 표준 제3판과 함께 한다.
6 2015년 6월 ECMAScript 2015 (ES2015) 6판에는 클래스와 모듈 같은 복잡한 응용 프로그램을 작성하기 위한 새로운 문법이 추가되었다. 하지만 이러한 문법의 의미는 5판의 strict mode와 같은 방법으로 정의된다. 이 판은 "ECMAScript Harmony" 혹은 "ES6 Harmony" 등으로 불리기도 한다.
7 2016년 6월 ECMAScript 2016 (ES2016) 제곱연산자 추가, Array.prototype.includes
8 2017년 6월 ECMAScript 2017 (ES2017) 함수 표현식의 인자에서 trailing commas 허용, Object values/entries 메소드, async/await 등.
9 2018년 6월 ECMAScript 2018 (ES2018) Promise.finally, Async iteration, object rest/spread property 등.
10 2019년 6월 ECMAScript 2019 (ES2019) Object.fromEntries, flat, flatMap, Symbol.description, optional catch 등.

 


ES6에서 추가된 주요한 특징들 

  • let과 const 변수 
  • Arrow functions(화살표 함수)
  • Template Literals(템플릿 리터럴)
  • Default parameters(기본 매개 변수)
  • Array and object destructing(배열 및 객체 비구조화)
  • Import and export(가져오기 및 내보내기)
  • Promises(프로미스)
  • Rest parameter and Spread operator(나머지 매개 변수 및 확산 연산자)
  • Classes(클래스)