typescript 간단 정리 - typeof, keyof, mapped type

Hanji·2022년 2월 13일
1

typeof 연산자

typeof A → A(변수/함수등)의 type을 반환

let str = "hello"
let str2: typeof str = "hi" 
// === let str2: string ="hi"

keyof 연산자

keyof A → A의 모든 프로퍼티의 키값을 union 형태로 반환

interface Todo {
	id: number
	text: string
}

type Keys = keyof Todo
// === type Keys = 'id' | 'text'

let a: Keys = 'id'
a = 'text'
a = 'ids' // 🚨ERROR!
a = 'id' | 'text' // 🚨ERROR!

Mapped Type (in 연산자)

기존 타입을 새로운 타입으로 변환

type Test = 'A' | 'B' | 'C'
type MappedTest = {
	[key in Test] : number;
}
const data:MappedTest = { A:1, B:2, C:3 }
const data1:MappedTest = { A:1, B:2 } // 🚨ERROR!

https://itchallenger.tistory.com/170
https://medium.com/harrythegreat/typescript-유틸리티-클래스-파헤치기-7ae8a786fb20

0개의 댓글