[javascript] 애로우 함수와 일반 함수의 차이점
자바스크립트에서는 애로우 함수(arrow function)와 일반 함수(일반적인 함수 선언)을 사용할 수 있습니다. 이 두 가지 함수의 가장 큰 차이점은 this
의 동작 방식입니다.
애로우 함수
애로우 함수는 함수를 정의하는 새로운 방식으로, 함수 내에서 this
를 바인딩하지 않습니다. 이는 애로우 함수가 자신의 this
값을 생성될 때의 바깥쪽 범위에서 물려받는다는 것을 의미합니다.
아래는 애로우 함수의 간단한 예제입니다:
const myArrowFunc = () => {
console.log(this); // 바깥 범위의 `this`를 출력
};
일반 함수
일반 함수는 함수를 정의하는 전통적인 방식으로, 호출될 때마다 자신만의 this
값을 생성합니다.
아래는 일반 함수의 예제입니다:
function myNormalFunc() {
console.log(this); // 해당 함수가 호출될 때의 `this`를 출력
}
결론
애로우 함수와 일반 함수의 주요 차이점은 this
의 동작 방식입니다. 애로우 함수는 this
를 생성될 때의 외부 범위에서 물려받지만, 일반 함수는 각각의 호출마다 새로운 this
를 생성합니다.
따라서, this
의 동작 방식을 이해하는 데 있어서 두 함수의 차이를 이해하는 것이 중요합니다.
참고문헌: