function 예쁜함수() {
// 어쩌구
}
var 예쁜함수 = function() {
// 어쩌구
};
var 예쁜함수 = () => {
// 어쩌구
};
function 키워드를 대체하는 새로운 문법이지만, 단순히 짧게 작성하는 것 이상의 특징이 있습니다.var 두배만들기 = (x) => { return x * 2 };
console.log(두배만들기(4)); // 8
console.log(두배만들기(8)); // 16
var 두배만들기 = x => { return x * 2 };
var 두배만들기 = x => x * 2;
// 함수의 입력(x)이 곧 출력(x * 2)을 의미함
this 값이 달라집니다.this를 생성하지 않고, 외부(상위 스코프)의 this를 그대로 사용합니다.var 오브젝트1 = {
함수: function() { console.log(this); }
};
오브젝트1.함수(); // 출력: 오브젝트1
var 오브젝트1 = {
함수: () => { console.log(this); }
};
오브젝트1.함수(); // 출력: arrow function은 외부 this를 사용하므로 예상과 다를 수 있음
this 값을 유지하지만, 원하는 동적 this를 얻지 못할 수도 있습니다.this 바인딩이 필요한 상황에서는 전통적인 함수와 arrow function의 차이를 명확히 인지해야 합니다.