타입스크립트에서 함수를 작성할 때, 화살표 함수와 일반 익명 함수의 반환문 처리 방식이 다르다는 점을 알고 계시나요? 이번 포스트에서는 두 가지 방식의 차이점에 대해 살펴보고, 실제 예제를 통해 자세히 알아보겠습니다.
화살표 함수 (Arrow Function)
화살표 함수는 함수를 간결하게 작성할 수 있는 장점을 가지고 있습니다. 예를 들어, 다음과 같이 화살표 함수를 사용하여 간단한 함수를 작성할 수 있습니다.
const add = (a: number, b: number): number => {
return a + b;
}
위의 예제에서 볼 수 있듯이, 화살표 함수는 =>
를 사용하여 함수의 매개변수와 반환 타입을 명시하고, 중괄호 내에 실행 코드를 작성합니다. 이때 중괄호 내에 실행 코드가 한 줄인 경우에는 중괄호와 return
키워드를 생략할 수 있습니다.
익명 함수 (Anonymous Function)
익명 함수는 함수 표현식을 사용하여 함수를 정의하는 방식입니다. 아래의 예제는 익명 함수를 사용하여 동일한 add
함수를 정의한 것입니다.
const add = function(a: number, b: number): number {
return a + b;
}
반환문 처리 방식의 비교
확실한 차이를 이해하기 위해, 화살표 함수와 익명 함수의 반환문 처리 방식을 비교해 보겠습니다.
-
화살표 함수는 단일 표현식을 반환할 때 자동으로 해당 값을 반환합니다. 이는
return
키워드를 사용하지 않아도 됨을 의미합니다. 다만, 중괄호 내에 여러 표현식이 포함된 경우에는return
키워드를 사용하여 명시적으로 값을 반환해 주어야 합니다. -
익명 함수는 항상 명시적으로
return
키워드를 사용하여 값을 반환해 주어야 합니다.
이와 같은 반환문 처리 방식의 차이로 인해, 코드 작성 시 함수를 사용하는 개발자들은 해당 차이를 인지하고, 각 상황에 맞게 적절한 함수 정의 방식을 선택해야 합니다.
결론
타입스크립트에서 화살표 함수와 익명 함수의 반환문 처리 방식은 다르기 때문에, 함수를 작성할 때 해당 차이점을 고려하여 적절한 함수 정의 방식을 선택해야 합니다. 화살표 함수의 간결한 표현을 활용하면서도 반환문 처리 방식에 대한 이해를 바탕으로 코드를 작성하면 보다 명확하고 유지보수성이 높은 소프트웨어를 개발할 수 있습니다.
이상으로 화살표 함수와 익명 함수의 반환문 처리 방식에 대해 알아보았습니다.
참고자료 : MDN Web Docs