[JS] JavaScript의 ES란?

김채운·2022년 5월 22일
0

JS

목록 보기
2/3

ECMA Script

ES는 ECMA Script의 약자이다. 자바스크립트는 1990년대 넷스케이프사의 브렌던 아이크(Brendan Eich)라는 사람에 의해 최초 개발 되었다. 자바스크립트가 잘 되자, MS에서 Jscript라는 언어를 개발해 IE에 탑재했는데, 이 두 스크립트가 다 제각각이라 표준이 필요하게 되었다.
표준을 정하기 위해서 자바스크립트를 ECMA라는 정보와 통신 시스템의 비영리 표준 기구에 제출하였고 표준에 대한 작업을 ECMA-262란 이름으로 1996년 11월에 시작해 1997년 6월에 채택이 되었다. 그리고 ECMA 뒤에 붙는 숫자 262의 의미는 ECMA는 Javascript의 표준만 정하는게 아닌 다른 표준안도 정하기 때문에 그것들과 구분하기 위해 숫자를 붙였고 이것이 262가 된 것이다. 즉 ECMA-262는 자바스크립트의 표준 규격이라고 생각하면 된다.

ES5와 ES6의 문법 차이

프로그래밍 언어들은 기존의 취약한 점들은 보완하고 필요한 기능들을 추가하면서 발전해 나가고 있다. ES도 마찬가지로 Javascript를 발전시키기 위해서 기능을 추가하거나 변경을 주어서 버전을 계속해서 업그레이드 시키고 있는데 ES3,ES4,ES5,ES6도 숫자에 따라 버전업이 됐다고 생각하면 된다.

ES5

원래 ECMA-262에는 ES4가 존재했었다고 한다. 하지만 언어에 관련된 정치적인 이유로 인해서 없어지고 이 중 일부가 ES%를 이루는 기본이 되었다고 한다.

ES5부터 추가된 기능 👇

  • 배열과 관련된 새로운 메소드들이 생김. ex) forEach, map, filter, reduce, some, every등 이 메소드들은 반복횟수나 조건을 잘못 입력하는 실수를 줄여주는 역할을 함.
  • object에 대한 getter/setter 지원
  • javascript strict 모드 지원(엄격모드로 더욱 세심하게 문법 검사를 함)
  • JSON지원 (과거에 XML을 사용하다가, json이 뜨면서 지원하게 됨)
  • bind() 메소드가 생김. (this를 강제로 bind 시켜주는 메소드)

ES6

ES5에 이어 개선된 점은

  • 호이스팅을 개선했다. 이 전까지는 var 키워드를 사용해서 호이스팅이 일어났었는데 이를 방지하기 위해 새 키워드인 let과 const가 추가되었다.
    그리고 문법적으로 추가된 부분은
  • arrow function(화살표 함수) 문법이 생겨났다. 이 화살표 함수를 씀으로서 코드가 간결화되었고, this를 바인딩하지 않는다는 장점이 있다.(this를 바인딩 하지 않고 선언된 scope의 this를 가리킨다)
  • iterator와 generator가 추가됨.
  • module의 import/export 추가
  • promise 추가, 자바스크립트는 비동기적 언어이기 때문에 callback에 대한 이슈가 많았는데 이 부분을 해결해주는 문법이다.

0개의 댓글