[JS] JS의 ES란? (ES3~ES8)
JS ES(ECMA Screapt)란?
바로 결론부터 말하자면 js는 언어이고, ES는 규격, 표준 즉 스펙을 뜻한다.
js는 10일이라는 정말 짧은 기간에 만들어진 언어이다. 그런만큼 설계상의 미스가 있을 수 밖에 없다. 그렇기에 지속적으로 버전이 업그래이드 되고, 기능이 늘어 1999년 ES3, 2009년 ES5, 2015년 ES6가 생겨 나게 되었다.
ES3
우리가 흔히 아는 js이다. 함수 단위의 스코프, 호이스팅, 모듈화 미지원, 프로토타입, 클로저 등등 자바스크립트의 기본적인 특징들이 들어있다.
ES5
ES4는 거절이 되었고, 바로 ES5가 나왔다.
추가된 기능은 다음과 같다.
- 배열과 관련해서 새로운 메소드들이 생겼는데 대표적으로 forEach, map, filter, reduce, some, every와 같은 메소드가 생겼습니다. 이 메소드들은 개발자가 반복 횟수나 조건을 잘못 입력하는 등의 실수를 줄여주는 효과가 있습니다.
- object에 대한 getter/setter 지원
- 자바스크립트 strict 모드 지원(더욱 세심하게 문법 검사를 합니다.)
- JSON 지원(과거에는 XML을 사용하다가, json이 뜨면서 지원하게 되었습니다.)
- bind() 메소드가 생겼습니다. (this를 강제로 bind 시켜주는 메소드입니다.)
ES6 (2015 IE9부터 지원)
- let, const 키워드 추가
- arrow 문법 지원
- iterator/generator 추가
- module import / export 추가
- Promise 도입
ES8 (2017)
- async - await 추가
- 객체 객체의 좀 더 신화된 메소드 등장, Object.key()에 대응되는 매소드인
- 문자열 앞부분에 공백을 넣어 자리수를 맞춰주는 String.padStart(), 문자열 뒷부분에 공백을 넣어 자리수를 맞춰주는 String.padEnd()
- 매개변수 바지마게 콤마 붙이는 것 허용
< Refer to >
Leave a comment