ES6에서 새롭게 추가된 화살표 함수에대해 정리해보겠습니다.
우선 함수란 무엇일까요?
이러한 함수들을 호출하는 방식에 여러가지가 있는데
우선 함수 선언문과 표현식이 있습니다.
const result = function (x, y) {
return x + y;
};
function add(x, y) {
return x + y;
}
여기서 새롭게 추가된 화살표 함수를 알아보겠습니다.
화살표 함수
function add1(x, y) {
return x + y;
}
// add2: add1을 화살표 함수로 나타낼 수 있음
const add2 = (x, y) => {
return x + y;
};
// add3: {}(중괄호) 다음 return이 나오면 retrun과 중괄호 생략 가능
const add3 = (x, y) => x + y;
// add4: return이 생략된 함수의 본문을 소괄호로 감싸줄 수 있음 (헷갈림 방지)
const add4 = (x, y) => x + y;
// add5: 매개변수 1개면 소괄호 생략 가능 (1개일 때만 가능)
const add5 = (x) => x;
// add6: 매개변수가 없는 함수를 만들 수 있음
const add6 = () => x;
⭐ 일반 함수와 화살표 함수의 가장 큰 차이점은《 this binding 》여부이다!!!
➡️ " 화살표 함수는 this를 바인딩 하지 않는다."는 것을 꼭 기억하자!!!
const person = {
name: "damin",
sayHello: () => {
console.log(`Hello, my name is ${this.name}`);
},
};
person.sayHello(); // "Hello, my name is undefined" 출력