무엇을 하는가 Record<K, T>Typescript의 의미는 ?
Typescript 2.1은 그 Record유형을 예로 들어 설명했습니다.
// For every properties K of type T, transform it to U function mapObject<K extends string, T, U>(obj: Record<K, T>, f: (x: T) => U): Record<K, U>
그리고 고급 유형의 페이지는 언급 Record과 함께 제목 매핑 된 형식에서 Readonly, Partial그리고 Pick그 정의로 보이는 년 :
type Record<K extends string, T> = { [P in K]: T; }
읽기 전용, 부분 및 선택은 동형이지만 레코드는 그렇지 않습니다. 레코드가 동형이 아닌 한 가지 단서는 속성을 복사하기 위해 입력 유형을 사용하지 않는다는 것입니다.
type ThreeStringProps = Record<'prop1' | 'prop2' | 'prop3', string>
그리고 그게 다야. 위의 인용문 외에도 typescriptlang.orgRecord 에 대한 다른 언급은 없습니다 .
질문
누군가가 무엇인지에 대한 간단한 정의를 줄 수 있습니까
Record?가
Record<K,T>단지 "이 개체의 모든 속성 유형이있을 것이다 말하는 방법T"? 아마도 모든 속성이 아닙니다.K목적이 있기 때문에 ...K제네릭이 아닌 객체의 추가 키를 금지 합니까, 아니면 키를K허용하고 속성이로 변환되지 않았 음을 나타냅니다T.주어진 예를 들면 :
type ThreeStringProps = Record<'prop1' | 'prop2' | 'prop3', string>
정확히 이것과 동일합니까? :
type ThreeStringProps = {prop1: string, prop2: string, prop3: string}