본문 바로가기

Sparta x 이노베이션 캠프/JavaScript

WIL : JavaScript의 ES란?, ES5/ES6 문법 차이 - 2022.08.15

반응형

자바스크립트의 ES란?

 

ES는 ECMA Script의 약자이다. 자바스크립트는 1990년대 Netscape 회사의 Brendan Eich 라는 사람에 의해 최초 개발되었다. 자바스크립트가 잘 되자 MS에서 Jscript라는 언어를 개발해 IE에 탑재하였는데, 이 두 스크립트가 너무 제각각이라 표준이 필요했다.

 

표준을 위해 자바스크립트를 ECMA(European Computer Manufactures Association)라는 정보와 통신 시스템의 비영리 표준기구에 제출하였고 표준에 대한 작업을 ECMA-262란 이름으로 1996년 11월에 시작해 1997년 6월에 채택되었다.

ES5는 ECMA Script5의 규격을 따른다고 생각하면 된다.

 

현재는 ES6 ECMA Script6의 규격을 따르고 있다.

즉 ECMA Script는 표준 규격, 스펙을 뜻한다.

 

1) ES5 문법

 

1. 배열과 관련해서 새로운 메소드들이 생겼는데 대표적으로 forEach, map. filter, reduce, some, every와 같은 메소드가 생김.

이 메소드들은 개발자가 반복 횟수나 조건을 잘못 입력하는 등의 실수를 줄여주는 효과가 있다.

2. object에 대한 getter/setter 지원

3. 자바스크립트 strict 모드 지원(더욱 세심하게 문법 검사)

4. JSON 지원 (과거에는 XML을 사용하다가, json이 뜨면서 지원)

5.bind() 메소드가 생겼습니다. (this를 강제로 bind 시켜주는 메소드)

 

2) ES6 문법

 

1. let, const 키워드 추가

2. arrow 문법 지원

3. iterator / generator 추가

4. module import / export 추가

5. Promise 도입 (Callback Hell을 해결해 줄 기법 추가됨)

6. Default, Reset 파라미터

7. 해체 할당, Spread 연산자

8. 템플릿 리터럴

9. 호이스팅이 사라진 것 같은 효과

10. 함수 단위 스코프에서 블록 단위 스코프로 변경

11. 화살표 함수를 사용

 

3주차 개인 과제를 하면서 새롭게 알게된 filter나 쓰는 법을 잘 모르고 있었던 map 함수가 ES5때 도입이 된 것이었구나. 지금 쓰고있는 ES6에서는 알고있는거라고는 let, const 키워드가 있다는것, export와 import 모듈과 화살표 함수정도 인 것 같다.

많은 자료를 찾아보고 한 번 정리 해보아야겠다는 생각이 들었다.

이렇게 수박 겉핥기 식으로 하면 99일 뒤 정말로 개발자가 될 수 없을 것 같다.

반응형