ES6+

ES6에 대해 기술할 페이지

Intro - 표준

세상에는 다양한 표준이 존재한다. 표준이란 모두가 알아보고 이해하기 쉽게 만들어 놓은 약속과 기준이다.

이미 우리는 일상생활에서도 정해진 표준에 맞춰서 살고 있는데 , 당장 사용하고 있는 언어도 표준어에 해당한다. 만약 표준어라는게 존재하지 않았다면?

어서오세요(표준) == 혼저오십서(제주도) == 어서오시우야(강원도)

지역마다 조금씩 사용하는 말이 달라 같은 나라 사람임에도 의사소통이 불가능 했을 것이다.

즉 우리가 정상적으로 의사소통이 가능한 이유는 언어에 대한 표준이 이미 정의되어 있고 그 표준에 맞춰서 생활하기 때문이다.

그 밖에도 세상에는 다양한 표준이 존재하며 ISO(International Organization for Standardization)라는 국제 표준화 기구에서 코딩에 대한 표준, 의학 용어에 대한 표준, 나라 및 통화에 대한 표준등 다양한 표준안을 제시하고 있다.

ECMAScript

자바스크립트 또한 스크립트 언어가 가져야할 표준에 맞춰서 각 브라우저(Google, Safari, IE...)에 의해 수십년동안 업데이트 되고 유지보수 되고 있는 언어이다. (만약 스크립트 표준이 없었다면 우리는 브라우저별로 서로 다른 스크립트를 만들고 있었을 것이다)

자바스크립트는 ISO기관과 비슷한 ECMA라는 표준화 기구에서 제시하는 ECMAScript의 버전에 맞춰서 업데이트가 진행되는데 ECMAScript의 버전은 매년 바뀌기 때문에 년도 별로 버전을 구분하여 2015년에 나온 출시된 ECMAScript는 ES2015, 2016년에 나온 버전은 ES2016 이라고 부른다.

현재 문서에서 다루는 ES6는 2015년에 나온 ES2015버전과 같은 버전이다.

ES2015 == ES6

ECMA에서 새로운 스크립트 표준에 대해서 발표 한후 스크립트의 버전을 정의할때 끝에 년도를 붙이기 시작한 시기는 2015년부터이다.

원래는 단순하게 ES1, ES2 , ES3 등 으로 버전관리를 하였는데 그때 버전 업데이트 빈도가 상당히 느린편이었기 때문에 ES3에서 ES5로 넘어가는데 10년이 소요되기도 하였다.

그러다 ES6를 발표하는 해인 2015년 이후부터는 매년 새로운 표준을 발표하기로 약속하였고 년도별 스크립트를 명확하게 구분하기위해 ES뒤에 년도를 붙여 버전관리를 하게 되었다.

ES6(ES2015)

ES6는 이전 버전인 ES5와 비교하여 거의 대격변 수준으로 많은 변화가 있었으며 ES6이후의 ES버전들을 통틀어서 ESNEXT라고 부른다.

기존에 자바스크립트에 존재하던 var변수의 호이스팅 문제, 스코프 문제, 콜백지옥, 화살표함수의 this문제 등 많은 문제점들을 해결하였으며 ES6이후의 자바스크립트는 모던자바스크립트, ES6 이전의 자바스크립트는 레거시 자바스크립트라고부른다.

이전까지 배운 내용은 최대한 ES5 즉 레거시 자바스크립트로만 작업을 진행하였고 앞으로는 ES6를 활용하여 작업을 진행할 것이다. 취업시장에서는 ES5, ES6 모두를 제대로 이해하고 사용할 줄 아는 인재를 원하므로 둘모두 제대로 사용할 줄 아는 것이 중요하다.

ES5와 ES6를 모두 알아야하는 이유

ES5 버전으로 개발 및 유지보수된 회사는 정말 많다.

따라서 입사한 회사에서는 ES5방식의 코드와 ES6방식의 코드가 공존 하고 있을텐데 이를 리팩토링해야 하는 경우나 , 코드는 그대로 두되 코드의 작동방식에 대한 이해가 필요하다고 했을때 ES5와 ES6각 방식의 차이점에 대해 명확히 이해하고 있을 필요가 있다.

  • ECMAScript의 버전별 차이점을 간단하게 기술한 사이트

Last updated