![[TypeScript] TypeScript 공부일지: 사용자 정의 타입가드 [6/12 study]](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdna%2FkLxSo%2FbtsHYXAJutC%2FAAAAAAAAAAAAAAAAAAAAAL-ba5qr8qpW0JF39hLuNE7_DTTWUMuef9MABcSH3DHu%2Fimg.png%3Fcredential%3DyqXZFxpELC7KVnFOS48ylbz2pIh7yKj8%26expires%3D1753973999%26allow_ip%3D%26allow_referer%3D%26signature%3Drz6yS%252FU4rLE6uEp9CG%252F7ErfRY1M%253D)
Frontend/TypeScript2024. 6. 12. 23:26[TypeScript] TypeScript 공부일지: 사용자 정의 타입가드 [6/12 study]
TypeScript 공부일지: 사용자 정의 타입가드 ❗️주의지극히 개인 공부한 내용을 올린 거기 때문에 이해하지 못할 수도 있음 ❗️사용자 정의 타입가드/** * 사용자 정의 타입가드 */type Dog = { name: string; isBark: boolean;};type Cat = { name: string; isScratch: boolean;};type Animal = Dog | Cat;function isDog(animal: Animal): animal is Dog { // 원래 이건데 animal.isBark !== undefined; 타입이 잘안좁혀지므로 타입 단언하면됨 // 하지만 TS는 함수의 반환값을 가지고는 타입을 잘 좁혀주지 않음 // 이럴때는 함수 자체를 타입 ..