JavaScript의 ES란?, ES5/ES6 문법 차이

김영웅·2022년 5월 22일
0

WIL

목록 보기
1/1

Javacript의 ES

  • ES라는 것은 'Javascript의 표준 규격'을 의미하는데, 이것이 탄생한 배경에는 '브라우저 전쟁'이라고 하는 웹 브라우저 시장에서의 점유율 싸움이 있었다. 넷스케이프 사에서 개발한 Javascript가 선풍적인 인기를 끌기 시작하자 마이크로소프트 사에서도 IE 3(우리가 알고있는 인터넷 익스플로러)에 JScript라는 이름으로 자바스크립트를 탑재했지만, 실제적으로는 둘의 내용이 매우 달라서 같은 기능을 구현하더라도 개발자들이 해야할 일과 시간이 훨씬 늘어나게 되었다.

  • 실제로 서로 사용자를 끌어들이기 위해 이것저것 기능을 추가하다 보니 Javascript와 JScript는 점점 다 달라지는 경향을 보였고, 이에 보다못한 European Computer Manufacturers Association (ECMA, 현 ECMA International)에서 Javascript에 대한 표준을 정하게 되었다.

  • ECMA에서는 Javascript의 표준만 정하는게 아닌 다른 표준안도 정하기 때문에 그것들과 구분하기 위해 숫자를 붙였고 이것이 262가 되었다. 즉, ECMA 262는 자바스크립트의 표준 규격이라고 생각하면 된다. 현재 우리가 ES라고 부르는 것은 ECMA Script의 약자이며, ES5는 ECMA Script 5의 규격을 따른다고 생각하면 된다.

그래서 ES5? ES6?의 차이는?

ES5 (2009)

  • ECMA-262에는 ES4 판이 존재했었다. 하지만 언어에 관련된 정치적인 차이로 인해서 버려졌다고 한다. 이 중 일부가 ES5을 이루는 기본이 되었다.

  • 배열에 forEach, map, filter, reduce, some, every와 같은 메소드들이 지원되었다.
    Object에 대한 getter와 setter가 지원되었다.

  • Javascript strict모드가 지원되었다. (기존에 비해서 더 엄격하게 문법 검사를 진행한다.)

  • json 형식의 자료들을 지원한다. 과거에는 XML이라는 규격을 사용했다가, json이 인기를 끌면서 javascript 역시 지원을 하게 되었다.

ES6 (ES 2015)

이 버전은 ES6라고도 하고 ES2015라고도 하는데, 두개가 같은 버전이고 불리는 이름만 다르다. 이유는 뒤에 버전 숫자(3,4,5,6 등등)만 붙이면 갱신되는 ES의 발행의 진행이 보기 어렵다는 이유때문이다. 원래 ES는 몇년에 한 번씩 발표가 되었지만, ES5이후부터는 빠르게 변화하는 웹 생태계 때문에 1년에 한번씩은 갱신을 하자는 움직임들이 생겨나게 되었고, 이로 인해 단순한 숫자를 붙이기 보다는 갱신된 연도를 붙여서 새로운 이름을 만들자는 의견들이 생겨나게 되었다.

(그리고 이때 엄청나게 많은 추가점이 생겼다고 한다)

  • Hoisting을 개선했다.
  • 기존에는 var키워드를 사용하여 호이스팅이 빈번하게 일어났는데 이를 방지하기 위해 블록 스코프를 가진 let과 const를 추가했다.
  • 화살표 문법을 지원한다.
    장점 : 코드의 간결화, this를 바인딩하지 않는다. (예시 링크)
  • iterator와 generator 추가.
  • module의 import/export 추가.
  • Promise 도입
    자바스크립트는 비동기적 언어이기 때문에 callback에 대한 이슈가 많았으나 이부분을 해결할 수 있는 문법을 제공한다.
profile
주니어 PM을 꿈꾸고 있습니다!

0개의 댓글