[JS] 자바스크립트 ES5 ES6 차이

Incheon·2022년 4월 5일
0
  • let, const 키워드 추가

기존의 var 키워드는 함수 레벨 스코프를 가지며 암묵적 재할당이 가능하였음, 단점을 보완하기 위해 블록 레벨 스코프를 가지며 재할당이 가능한 let, const 키워드가 추가 됨

https://hbsowo58.tistory.com/411 참조

  • Arrow function 추가

화살표 함수가 추가되어 함수가 간결하게 나타낼 수 있음
가독성 및 유지 보수성이 올라갔다고 판단. 단, 기존의 함수와 this 바인딩이 다름
화살표 함수는 lexical this를 따르기 때문에 추가 공부 필요
화살표 함수에선, 매개변수가 하나일 때 () 괄호 생략 가능 , {} 소괄호 및 return도 생략 가능

  • Template literal 추가

es6 문자열 관리는 불편하였음 그러나 Template literal이 도입된 후 간편해짐

사용법은 (back tic)입니다. tab키 위에 있음
${} 중괄호 앞에 달러 표시를 통하여 js 표현식을 삽입할 수 있음

공백을 사용하는 불편함도 사라짐

var first = 'jang'
var last = 'in'
var name = 'My name is '+first+' '+last+'.'

//es 5
var first = 'jang'
var last = 'in'
var name = 'My name is '+first+' '+last+'.'
//My name is Jang in.

//es6 
const my Name= `My name is ${first} ${last}.`
//My name is Jang in
  • Promise

비동기통신에 있어 기존에 콜백 함수를 사용한 콜백 패턴을 사용. 결과론적으로 콜백헬을 발생 시킴 이를 해결하기 위해 프로미스가 토입 되엇고 프로미스 후속 처리 메소드를 통하여 에러 처리를 효과적으로 처리할 수 있게 됨.

  • string 메서드(includes, startsWith, endsWith)

문자열 메서드가 추가됨. 포함되어있는지(includes) 시작되는지(startsWith) 끝나는지(endWith)
true/false 값을 리턴하며 문자열 메서들로 검사 로직을 수행 할 수있음

이 외에도 디스트럭처링할당, 모듈, 클래스 등이 더 있습니다

profile
Junior Web Developer

0개의 댓글