coding/IT, CS

JavaScript의 ES, ES5/ES6

JIN_Coder 2022. 7. 24. 17:16

JavaScript ES

 

ES 는 ECMAScript 의 약자

ES라는 것은 'Javascript의 표준 규격'을 의미

Ecma International이 ECMA-262 기술 규격에 따라 정의하고 있는 표준화된 스크립트 프로그래밍 언어를 말한다.

자바스크립트를 표준화하기 위해 만들어졌다.

 

 

ES 가 등장하게 된 배경

Netscape이라는 웹 브라우저를 통해 상호작용을 강조하기 위해 간단한 기능을 넣어 만든것이 자바스크립트의 시초였다.

웹 개발자들은 각 브라우저에서 동일한 기능을 구현하기 위해 모든 코드를 따로 작성해줘야 했기 때문에 표준화 작업을 위해 많은 사람들이 노력했고, 그 결과 Ecma International에서 ECMAScript(ECMA-262)라는 이름으로 현재의 자바스크립트 표준을 제정하기 시작했다.

 

 

판본

 

 

ES3 (1999)

우리가 흔히 아는 js이다.

함수 단위의 스코프, 호이스팅, 모듈화 미지원, 프로토타입, 클로저 등등 자바스크립트의 기본적인 특징들이 들어있다.

 

 

ES5 (2009)

  1. 배열에 forEach, map, filter, reduce, some, every와 같은 메소드들이 지원되었다.
  2. Object에 대한 getter와 setter가 지원되었다.
  3. Javascript strict모드가 지원되었다. (기존에 비해서 더 엄격하게 문법 검사를 진행한다.)
  4. json 형식의 자료들을 지원한다.
    과거에는 XML이라는 규격을 사용했다가, json이 인기를 끌면서 javascript 역시 지원을 하게 되었다.

 

ES6 (ES 2015)

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

 

ES8 (ES 2017)

  1. async - await 추가
  2. 객체 객체의 좀 더 신화된 메소드 등장, Object.key()에 대응되는 매소드인 Object values/entries 메소드
  3. 문자열 앞부분에 공백을 넣어 자리수를 맞춰주는 String.padStart(),
    문자열 뒷부분에 공백을 넣어 자리수를 맞춰주는 String.padEnd()
  4. 매개변수 마지막에 콤마 붙이는 것 허용

 

 

 

 

'coding > IT, CS' 카테고리의 다른 글

Side effect, Decoupling, 디자인 패턴  (0) 2022.08.10
테스트 코드 종류와 테스트 피라미드  (0) 2022.08.09
마이크로 서비스 아키텍처 도메인  (0) 2022.08.07
Restful API  (0) 2022.07.31
SQL과 NOSQL의 차이  (0) 2022.07.25