함수에서 사용하는 인자값에 대한 default 처리가 편리해졌다.
기본에는 ""와 +를 이용하여 하나씩 추가해줘야했던 것과 달리 백틱과 $을 통해 간단하게 처리할 수 있다.
기존에는 변수 하나하나마다 다 나눠서 할당해줘야 했던것과는 다르게 es6로 넘어오면서 한번에 처리할 수 있게 되었다.
일반함수
자바스크립트에서 모든 함수는 실행될 때마다 함수 내부에 this라는 객체가 추가된다.
함수 실행시에는 전역(window) 객체를 가리킨다.
일반 함수는 함수를 선언할 때 this에 바인딩할 객체가 정적으로 결정되는 것이 아니고, 함수를 호출할 때 함수가 어떻게 호출되었는지에 따라 this에 바인딩할 객체가 동적으로 결정된다.
화살표 함수
화살표 함수는 함수를 선언할 때 this에 바인딩할 객체가 정적으로 결정된다.
화살표 함수의 this 언제나 상위 스코프의 this를 가리킨다.
또한 call, apply, bind 메소드를 사용하여 this를 변경할 수 없다.
es6가 나오기 전까지 callback에 대하여 이러한 짤이 나올정도로 callback 지옥이라고 불렸었는데 Promise가 나오게 되면서 개선이 되었다. Promise에 대한 자세한 내용은
제 블로그 promise vs callback을 참고하면 좋다.
https://velog.io/@navida/callback-promise-asyncawait