본문 바로가기

typescript3

타입도 분기처리 할 수 있나요? 타입스크립트에서 조건부 타입 알아보기 타입스크립트에서는 조건에 따라 다른 로직을 실행할 수 있다. Condition ? true : false 삼항연산자를 활용한 조건부 로직 그렇다면, 타입도 조건에 따라 다르게 할당할 수 있을까? 예를들면, Condition이 true면 AType, false면 BType 처럼 말이다. 조건부 타입이 필요한 상황 타입에도 조건부 를 부여할 수 있다. 즉 , 조건부 타입이 가능하다. 현업에서 조건부 타입이 필요했던 상황과 활용방법에 대해 알아보자. 요구사항 요구사항은 버스와 지하철, 사무기관의 정보를 보여주는 화면을 개발하는 것이였다. 서버에서 내려주는 spec은 아래와 같았다. type Bus = { name: string lat: number lng: number } type Subway = { name.. 2024. 2. 16.
Typescript 에서 string union type을 type guard 하는 법 (typeof Array[number] 와 as const) string union type을 type guard 하는 법 (부제 typeof Array[number] 와 const assertion ) string으로 이루어진 union type을 타입가드하고 싶을 때를 알아보자 🧨 문제상황 color 의 타입을 담는 `string union type` 을 만들었다. type ColorKey = 'red' | 'orange' | 'yellow' | 'green' | 'blue' | 'purple' 그리고 그 color값을 저장하는 state 를 만들고, 외부에서 `val string` 을 받아오면 state에 저장하는 handler 함수까지 만들었지만.. const [color, setColor] = useState('red') const onChange = (.. 2023. 9. 17.
jest 테스트코드 작성시 Cannot find module jest 를 이용해서 타입스크립트 테스트코드 작성시, import 오류가 났었다. 해결방안 jest 사용시 jest config 를 잘 작성해주어야 한다. jest 는 기본적으로 javascript 를 기대하고 실행하지만, 나는 typescript 로 작성했었다. 그러므로 해당 ts 테스트코드를 js로 변환해주어야 한다. 아래 코드를 추가하니 정상작동 하였다. moduleNameMapper: { // Handle module aliases (this will be automatically configured for you soon) '^~/(.*)$': '/$1', }, transform: { '^.+\\.ts?$': 'ts-jest', }, 2023. 3. 22.
728x90
반응형