일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- 투포인터
- CORS
- ESlint
- 타입 좁히기
- 인터섹션
- 이분 검색
- 태그된 유니온
- CI/CD
- 공변성
- TS
- Jest
- 호이스팅
- Cypress
- RTK Query
- SSR
- 결정 알고리즘
- useAppDispatch
- webpack
- async/await
- dfs
- 리터럴 타입
- 반공변성
- recoil
- autosize
- app router
- 무한 스크롤
- Promise
- tailwind
- React
- map
- Today
- Total
목록unknown (2)
짧은코딩
타입스크립트에는 자바스크립트에는 없던 연산자들이 있다. 처음 봤을 땐, 나름 쉬워 보여서 그냥 넘어갈 수도 있지만 타입스크립트를 지속적으로 사용하다 보면 은근히 헷갈릴 때가 있었다. 그렇기에 이 글을 통해 정리하고자 한다. 연산자 유니언(|): 유니언 타입은 OR의 역할을 한다. 즉, 합집합의 역할을 한다. 인터섹션(&): 인터섹션 연산자는 AND의 역할을 한다. 즉, 교집합의 역할을 한다. 공집합(never) type nev = string & number; // never 인터섹션 연산자를 이용하여 위 코드를 작성하면 nev의 타입은 never가 된다. 즉, 타입스크립트에서 가장 좁은 타입이다. 전체집합(unknown) 전체집합은 unknown이며, 타입스크립트에서 가장 넓은 타입이다. 대입 원칙 타..
결론부터 말하면 단언문보다 선언문을 사용하는 것이 좋다. 선언문 interface Person { name: string } const alice: Person = { name: 'Alice' } // Type is Person 타입 선언문은 선언된 타입임을 명시하여 타입을 선언한다. 단언문 interface Person { name: string } const bob = { name: 'Bob' } as Person // Type is Person 단언문은 "as"를 사용한다. 이러면 타입스크립트가 추론한 타입이 있어도 강제로 "as" 뒤에 쓴 타입으로 간주한다. 선언문을 사용해야 하는 이유 interface Person { name: string } const alice: Person = {} // ..