Js의 ES란? ES5, ES6의 차이점

태권·2022년 8월 15일
0

개념알기

목록 보기
9/26

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 스크립트는 규격, 표준 즉, 스펙을 말한다.

ES5문법

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

이 메소드들은 개발자가 반복 횟수나 조건을 잘못 입력하는 등의 실수를 줄여주는 효과 있음.
2. object에 대한 getter/setter 지원
3. 자바스크립트 strict 모드 지원(더욱 세심하게 문법 검사)
4. JSON 지원(과거에는 XML을 사용하다가, json이 뜨면서 지원)
5. bind() 메소드가 생겼습니다. (this를 강제로 bind 시켜주는 메소드)

ES6문법

  1. let, const 키워드 추가
  • ES5와 대비하여서 ES6에서는 ‘const’, ‘let’ 변수가 추가 되었으며, var 변수보다는 const, let 변수를 '지향'한다.
  1. arrow 문법 지원

  2. iterator / generator 추가

  3. module import / export 추가

  • import와 export는 자바스크립트의 코드를 모듈화 할 수 있는 기능이다.
  1. Promise 도입 ( Callback Hell을 해결해 줄 기법이 추가 되었습니다.)
  • async await 패턴은 비동기식 프로그래밍을 일반적인 동기 프로그램과 유사한 방식으로 구성할 수 있도록 많은 프로그래밍 언어에서 제공하는 기능이다.
  • promise: 비동기 작업이 맞이 할 미래의 완료 또는 실패와 그 결과 값을 나타낸다.(then, catch, finally)
    async: 비동기 함수를 만들기 위해서 명시적으로 작성을 한다
    await: async내에서 처리가 완료 될 때까지 기다림을 의미한다.
  1. Default, Rest 파라미터

  2. 구조 분해 할당, Spread 연산자

  • 배열이나 JSON, Object 형태에서 속성을 해제하여서 변수로 할당하는 방식을 의미함. 어떤 것을 복사한 이후에 변수로 복사해준다는 의미이다. 이 과정에서 분해 혹은 파괴되지 않는다는 점이 있다.
  • 배열 혹은 Object 형태에서 기존에 있는 값을 그대로 유지해서 불러오는 방법 병합, 구조 분배 할당(destructuring)등에 다양하게 활용할 수 있다.
  1. 템플릿 리터럴
  • ES6에서 템플릿 리터럴이라고 불리는 새로운 문자열 표기법이 생겼다. 이전에는 문자열을 표현하기 위해선 ' 또는 "를 사용했는데, 템플릿 리터럴은 백틱을 사용한다. 템플릿 리터럴은 ' 와"를 혼용해서 사용할 수 있다. 그리고 이전에는 줄바꿈을 표현하기 위해선 \n을 넣어줘야 인식을 했지만 템플릿 리터럴은 있는 그대로 인식한다.
profile
2022.08 개발자 시작

0개의 댓글