728x90
반응형
화살표 함수를 다룰 때는 '구문 단축키'를 사용할 수 있습니다.
가장 중요한 것은 다음과 같은 대안에 대해 알고 있어야 한다는 것입니다.
1) 매개변수 목록 괄호 생략하기
화살표 함수가 정확히 하나의 매개변수만 사용하는 경우, 묶는 괄호를 생략할 수 있습니다.
- (userName) => { ... }
가 아니라
- userName => { ... }
라고 쓸 수 있습니다.
참고 하세요:
- 함수에 매개변수가 없는 경우에는, 괄호를 생략해서는 안 됩니다.
- () => { ... } 라고 써야 옳습니다.
- 함수가 둘 이상의 매개변수를 받는 경우에도 괄호를 생략해서는 안 됩니다.(userName, userAge) => { ... } 라고 써야 합니다.
- userName, userAge => { ... } 라고 쓰면 안 됩니다.
2) 함수 본문 중괄호 생략하기
화살표 함수에 반환문 외에 다른 로직이 없는 경우, return키워드와 중괄호를 생략할 수 있습니다.
- number => { return number * 3;}
라고 쓰는 게 아니라
- number => number * 3;
라고 쓸 수 있습니다.
아래와 같이 오류가 생깁니다.
- number => return number * 3; // 이 경우 retrun 키워드는 생략되어야 하므로, 오류가 생깁니다.
- number => if (number === 2) { return 5 }; // 이 경우 if 문은 반환될 수 없으므로 오류가 생깁니다.
3) 특수한 경우: 객체만 반환하는 경우
2)에서 설명한 짧은 대안으로 자바스크립트 객체를 반환하려고 하면, 다음과 같이 유효하지 않은 코드가 나올 수 있습니다.
- number => ({ age: number }); // 객체를 반환하려고 합니다.
자바스크립트는 중괄호를 JS 객체를 생성하는 코드가 아닌 함수 본문 래퍼로 취급하기 때문에 이 코드는 유효하지 않습니다.
객체를 생성하고 반환해야 한다고 자바스크립트에 “말하려면” 코드를 다음과 같이 수정해야 합니다:
- number => ({ age: number }); // 추가 괄호를 써서 객체를 감싸줍니다.
객체와 중괄호를 추가 괄호로 감싸면, 자바스크립트는 중괄호가 함수 본문을 정의하는 것이 아니라 객체를 생성하기 위한 것임을 이해합니다. 따라서 객체가 반환됩니다.
출처: 유데미 React 완벽가이드
728x90
반응형
'React' 카테고리의 다른 글
[React] useMemo (2) | 2024.09.03 |
---|---|
[React] useContext api (0) | 2024.08.27 |
[React]useReducer (0) | 2024.08.20 |
[React] react-hook-form 사용하기 (0) | 2024.08.13 |
[React] react-hook-form useRef 사용 (0) | 2024.08.13 |