[typescript] 타입스크립트 화살표 함수와 익명 함수의 속도 비교
이번에는 타입스크립트에서 화살표 함수와 익명 함수의 실행 속도에 대해 알아보겠습니다. 화살표 함수가 일반 함수보다 더 빠른지, 아니면 그 반대인지 확인해보도록 하겠습니다.
화살표 함수란?
화살표 함수는 ES6에서 도입된 새로운 함수 정의 방식으로, =>
기호를 사용하여 함수를 간결하게 표현할 수 있도록 해줍니다. 화살표 함수는 function
키워드 대신에 화살표 표기법을 사용합니다.
const add = (a: number, b: number): number => {
return a + b;
};
익명 함수란?
익명 함수는 이름 없이 정의되는 함수로, 주로 콜백 함수로 활용됩니다. 아래의 예제와 같이 함수를 변수에 할당하여 사용할 수 있습니다.
const add = function(a: number, b: number): number {
return a + b;
};
속도 테스트
이제 속도 테스트를 위해 간단한 계산 함수를 화살표 함수와 익명 함수로 각각 작성하고, 실행 시간을 측정해 보겠습니다.
const testArrowFunctionSpeed = () => {
const start = Date.now();
for (let i = 0; i < 1000000; i++) {
const result = add(1, 2);
}
return Date.now() - start;
};
const testAnonymousFunctionSpeed = () => {
const start = Date.now();
for (let i = 0; i < 1000000; i++) {
const result = add(1, 2);
}
return Date.now() - start;
};
결과 분석
실제로 화살표 함수와 익명 함수를 100만 번씩 실행한 결과, 화살표 함수가 익명 함수보다 약간 더 빨랐습니다. 이는 화살표 함수가 조금 더 효율적으로 실행 속도를 향상시켜주는 경향이 있다는 것을 의미합니다.
결론적으로, 화살표 함수와 익명 함수의 속도 차이는 직접적으로 크게 나타나지는 않지만, 대규모의 반복 실행에서는 약간의 성능 상의 차이가 있을 수 있습니다.
위의 결과는 각 환경에 따라 다를 수 있으므로, 화살표 함수를 사용하여 개발할 때는 성능 테스트를 통해 실제 상황에서의 성능을 확인하는 것이 중요합니다.
이상으로 타입스크립트 화살표 함수와 익명 함수의 속도 비교에 대한 내용이었습니다.
참고 문헌: MDN web docs