- 블록 스코프와 let 과 const
- 일반적으로 자바스크립트는 함수스코프와 전역스코프만을 지원하여왔음 하지만 ES6에서부터는 블록스코프도 지원하게 됨 그리고 이를 가능하게 해주는 것이 let과 const임!!
이전에는 var만 사용함으로써 에러가 많이 생겼지만 재선언 재할당이 불가능하게된 let,const가 생겨 에러의 양이 많이 줄어들음
- 템플릿리터럴, 멀티 라인 스트링
- ES6부터는 더이상 문자열 중간에 변수나 함수 호출과 같은 것들을 삽입할 때 +, “” 조합을 사용하지 않아도 됨!!! ``을 이용하고 대신 변수를 사용할 때에는 ${}를 이용하여 중괄호 안에 호출 같은 자바스크립트 코드를 넣음
- 화살표함수
- ES6에서는 새로운 함수 표현 방법인 화살표 함수가 등장합니다. 화살표 함수로 함수를 작성하면 코드 길이를 조금 줄일 수 있는 장점이 있음
화살표함수 사용시 주의사항
화살표 함수가 전달받는 인자가 하나가 아니라 두 개 이상인 경우에는 괄호를 사용해야함
화살표 함수 바디의 내용에 한 줄 이상의 코드를 작성하려면 중괄호와 return을 사용해야함
화살표 함수는 자신만의 this를 가지지 않는 특징이 있음
- 구조분해할당
- 비구조화 할당 지원, 비구조화 할당(구조분해 할당)을 처음 들었을때는 이해가 잘안갔는데 코드를 보고 설명을 계속읽으니 이해가 이전보단 좋아진거 같다. 구조가 없는 객체를 알맞게 처리 하도록 돕는 기능들임
- Promise
비동기 처리를 위해 기존에는 콜백함수를 썼었는데 Promise 객체를 이용해 콜백을 대신 할 수 있음, 또한 어플리케이션이 복잡질수록 많은 콜백 함수로 인해 알아보기 힘들었던 점을 개선할 수 있음Promise의 상태가 fullfiled면 이후 프로세스는 .then()안에, rejected상태면 .catch()안에 이후 작업을 해 줄 수 있음
-
모듈
export와 import 예약어를 통해 다른 js파일에 있는 함수, 클래스, 변수등을 가져오고 내보냄
-
클래스
자바와 같은 다른 객체지향언어가 가지고 있는 클래스라는 개념이 ES6에 처음 생김. 객체 생성시에 편리하며 extends 예약어를 통해 상속도 받을 수 있음
참조 https://velog.io/@chojs28/ES6-Modular-Javascript
https://ujeon.medium.com/javascript-%EC%9E%90%EB%B0%94%EC%8A%A4%ED%81%AC%EB%A6%BD%ED%8A%B8-es6-%ED%8A%B9%EC%A7%95%EB%93%A4-4f8916bf82da