더북(TheBook)

3.7.3 다른 곳에서도 화살표 함수 고려

과거 습관: (다시) 선택의 여지가 없었기 때문에 모든 것에 전통적인 함수를 사용한다.

새로운 습관: 콜백이 아니더라도 화살표 함수를 사용하는 것이 타당한지 고려하자. 이것은 주로 스타일의 문제다. 예를 들어 입력 문자열에서 초기 제한 문자열을 생성하는 다음 함수를 살펴보자.

function initialCap(str) {
    return str.charAt(0).toUpperCase() + str.substring(1);
}

다음의 화살표 함수 버전과 비교해 보자.

const initialCap = str =>
    str.charAt(0).toUpperCase() + str.substring(1);

이론적으로 화살표 함수는 기존 함수와 관련된 단점이 없다. 또한 해당 예에서와 같이 const를 사용하여 식별자가 재할당되는 것을 방지할 수 있다(또는 이를 방지하지 않으려면 let을 사용하자).

물론 전통적인 함수는 없어지지 않는다. 호이스팅은 때때로 유용하며, 일부는 함수 키워드 플래그 업 기능을 선호하며, 간결함을 추구한다면 주목할 가치가 있다.

let x = () => { /* ... */ };

앞의 코드는 다음 코드보다 약간 길다.

function x() { /* ... */ }

당연하지만 다음 코드가 제일 짧다.

let x=()=>{ /* ... */ };

여러분(또는 여러분의 팀)의 스타일 선호도에 달려 있다.

신간 소식 구독하기
뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.