자바스크립트 ) ES6 주요 특징에 대해 알아보자

Jeong-Taek·2022년 10월 26일
0

프론트엔드 개발자가 자주쓰는 언어 중 자바스크립트(javascript)는. ECMAScript를 표준으로 한다.
ES뒤에 붙는 숫자는 해당 표준의 Edition Number 이고 연단위로 하나씩 나온다.
오늘 살펴볼 ES6는 2015년 6월에 업데이트된 ECMAScript의 6th Edition이다.

var와 let,const

첫번째로 살펴볼 특징은 let & const로 엄격해진 자바스크립트다.

let 과 const는 block-scope이고 var는 function-scope다. 이 셋은 모두 변수를 선언할 때 사용하는 예약어다.

각각의 특징을 살펴보자.

var

  • 함수블럭만을 스코프로 인정하여 전역 변수 남용이 발생 할 수 있다.
  • 변수 중복 선언 허용으로 상수 개념이 없다.
  • 변수 선언 이전에 참조할 수 있다.

let, const

  • 대부분의 언어와 마찬가지로 모든 블록들을 개별적인 스코프로 사용한다.
  • 변수 중복 선언 금지
  • let은 값이 변할 수 있는 변수, const는 초기화 후 값이 변하지 않는 변수이다.
  • 변수 선언 이전 참조가 불가능하다.

이러한 새로운 변수 예약어의 등장으로 자바스크립트는 용도에 따라 더 세분화된 변수 사용이 가능해졌고, 의미가 명확해지도록 하여 엄격한 js문법을 만들어갔다.

함수 리터럴과 화살표 함수

function foo() {
	console.log("foo")
} //es6 이전

const foo = () => {
	console.log("es6")
} //es6 이후 화살표 함수

ES6에서 새로 생긴 화살표 함수는 리터럴 함수선언보다 간단히 함수를 표현하고 그 의미를 명확히 하기 위해 탄생함.

  • 화살표 함수는 항상 익명이며, 이를 const & let에 할당해 이름을 갖도록 할 수 있다.

Promise

Promise는 순차적이지 않은 비동기 함수의 실행 순서를 제어할 수 있도록 지원해 주는 기능이다.

장점

  • callback hell에서 벗어날 수 있음
    - .then()의 return은 다음 .then()의 매개변수로 사용되므로 가독성이 올라감.
  • .then()을 이용하여 가독성 좋은 연속적인 비동기 코드 작성이 가능하다.
  • Promise.all()을 통해 병렬 비동기 코드 작성이 가능하다
  • callback 함수를 제 때 실행하지 못하거나 변수 전달 실패가 없다.

단점

  • ES5이전에서는 polyfill을 통해 로드해야 한다.

ES6에 대한 주요내용을 간단히 살펴보았다.

0개의 댓글