TypeScript - Keyof Type Operator

CH_Hwang·2022년 2월 24일
0

TypeScript

목록 보기
3/12

keyof

keyof는 객체타입을 가져오고 string이나 객체 키의 숫자 리터럴 집합을 생산한다.

type Point = { x: number; y: number };
type P = keyof Point;

위의 코드에서 P타입은 "x"|"y" 와 같다.

만약 타입이 string이나 number 인덱스를 가지고 있다면 keyof는 이 타입을 반환한다

type Arrayish = { [n: number]: unkonwn };
type A = keyof Arrayisy; // type A = number type

type Mapish = { [k: string]: boolean };
type M = keyof Mapish; // type M = string | number

여기서 M의 타입이 string | number인 이유는 자바스크립트에서 객체 키는 항상 string을 강제하기 때문에 obj[0]은 항상 obj["0"]이다

0개의 댓글