중복을 피하기위해 기존에 정의되어 있는 타입을 새로운 타입으로 변환해 주는 문법(자바스크립트의 map()함수를 적용한 것과 같은 효과) // 기존 타입 { name: string; email: string; } // 새로운 타입 { name: number; email: number; } 🖐🏻 문법 type Name = 'Kim' | 'Park' | 'Shin'; 위와 같이 김, 박, 신을 유니온 타입으로 묶어주는 Name이라는 타입이 있습니다. 여기서 각 이름에 몸무게까지 붙인 객체를 만들고 싶다면 아래와 같이 변환할 수 있습니다. type PersonProfiles = { [T in Name] : number}; const personInfo1: PersonProfiles = { Kim: 55, Par..
해당 값의 속성을 읽기 전용으로 설정해주는 타입시스템 기능입니다. 함수가 매개변수로 받는 값을 변경 없이 그대로 사용해야할 때 적합합니다. 외부에서 호출이 가능하지만 값의 변경은 불가능하므로, 값을 변경하기 위해서는 값을 초기화해줘야 합니다. interface Todo{ readonly title: string; body: string; } const todo: Todo = { title: "중요한 일정", body: "병원가기" } todo.title = "오늘 안에 해야할 일"; todo.body = "옷정리"; // Cannot assign to 'title' because it is a read-only property. Readonly Readonly은 집합의 모든 프로퍼티 읽기 전용(reado..
TypeScript는 일반적인 타입 변환을 쉽게 하기 위해서 몇가지 유틸리티 타입을 제공합니다. 이러한 유틸리티는 전역으로 사용할 수 있습니다. 유틸리티 타입은 제네릭 타입이라고도 불리며, 타입 정의를 더욱 짧고 간단하게 사용할 수 있습니다. Partial Partial Type은 집합의 모든 프로퍼티를 선택적으로 타입을 생성할 수 있습니다. 이 유틸리티는 주어진 타입의 모든 하위 타입 집합을 나타내는 타입을 반환합니다.(부분집합) 예시 interface User { email: string; password: number; } type Person = Partial; const me: MyInfo = {}; // 가능 const you: YouInfo = { email: "abcd@gmail.com" ..