Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
Tags
- 국비지원취업
- computerscience
- 알고리즘
- 프론트엔드개발자
- DFS
- html/css/js
- LinkSnap
- CSS
- nodejs
- 그리디
- git
- 패스트캠퍼스
- 부트캠프
- Javascript
- github
- BFS
- 코딩테스트
- 컴퓨터과학
- 야놀자
- 컴퓨터공학
- CS
- 호이스팅
- KAKAO
- 코테
- cpu
- js
- 자바스크립트
- 백준
- 국비지원
- 너비우선탐색
Archives
- Today
- Total
My Boundary As Much As I Experienced
타입스크립트/리액트 환경에서 '<>' 사용법 헷갈리지 않는 법 본문
리액트 개발하다보면 아래같이 함수 실행부 옆에 <>을 쓸때가 많다.
const [text, setText] = useState<string>()
그리고 타입스크립트에서도 제네릭 문법 <>을 사용하여 타입 제한할때가 있다.
function add<T>(arg: T): T {
// 함수 내용
}
가끔가다 함수실행부 옆에 제네릭을 넣는다던가, 제네릭 써야하는 부분에 string, number 등 구체적인 타입을 넣는다거나 하면서 헷갈릴 때가 있다.
타입스크립트는 왜 굳이 이렇게 동일한 형태로 다른 문법을 만든걸까? 라고 궁금해서 알아본 결과
const [text, setText] = useState<string>()에서의 <>은 타입스크립트 문법이 아니다.
이것은 jsx문법(즉 React문법)인 것이다.
왜 제네릭 <>과 헷갈리게 동일한 괄호를 사용했나 했는데, 아예 다른 문법이었다.
<>를 사용하는 경우를 요약하자면 아래와 같다. 한 번 머리에 잘 입력해둬서 헷갈리지 말자.
- 선언할때 <>는 제네릭을 사용하기 위해 존재.
- 사용할때 <>는 명시적인 타입을 나타내기 위해 존재.