🌱 콜백(callback) 함수
콜백 함수란?
다른 함수에 인자로 전달되는 함수
즉, 함수의 매개변수로 또 다른 함수가 들어가는 것입니다.
예를 들어, 아래와 같은 함수가 있을 때
function main(value) { // 2. main(value)의 value값에 sub가 전달되며
value(); // value() == sub()
}
function sub() { // 3. sub()가 실행됩니다!
console.log("I'm sub.");
}
main(sub); // 1. sub를 main()에 넘겨주면
주석에 적혀있는 것처럼 1, 2, 3 순서에 따라 코드가 실행됩니다.
🌱 화살표 함수
기본적인 함수 표현식을 간단하게 나타내고 싶을 때
방법 1) function 키워드만 생략하거나
방법 2) function 키워드 + 함수 이름을 생략할 수 있습니다.
단, 방법 2의 경우에는 ( )와 { } 사이에 => 기호를 넣어주어야 합니다.
예를 들어, 아래와 같은 코드가 있을 때
// 방법 1
function sub() {
console.log("I'm sub.");
}
main(sub);
// 방법 2
main(function sub() {
console.log("I'm sub.");
});
// 방법 3
main(() => {
console.log("I'm sub.");
});
세 가지 방법은 모두 같은 동작을 수행합니다.
또한, 화살표 함수 표현식은 함수를 호출한 객체를 가리키는 this 키워드를 사용할 수 없습니다.
화살표 함수에서 this를 사용하면 해당 함수가 생성되기 직전에 유효한 객체를 가리키므로
생성 시에 아직 호출한 객체가 없는 화살표 함수의 this는 결국 window 객체를 가리키게 됩니다.
따라서 this 키워드를 사용하고 싶다면 화살표 함수가 아닌 일반 함수 표현식으로 적어주어야 합니다.
더 자세한 내용은 공식 문서에서 확인할 수 있습니다.
읽어주셔서 감사합니다:)