FE/Typescipt

[Typescript] Generic

따봉치치 2023. 9. 1. 18:40
제네릭(Generic)

재사용성을 높이기 위해 사용

 

함수

function toArray<T> (a:T, b:T) {
	return [a,b]
}

toArray<string>('Neo','Tom')
toArray(1, 2)

 

클래스

class User<P> {
	constructor(public payload : P) {}
	getPayload() {
		return this.payload
	}
}

interface UserA {
	name:string
	age:number
	isValid:boolean
}

const IU = new User<UserA> ({
	name : 'IU',
	age : 23,
	isValid : true
})

 

인터페이스

 

interface MyData<T> {
	name : string
	value : T
}

const dataA : MyData<string> = {
	name : 'data A'
	value : 'Good'
}

 

 

제약조건

extends 키워드를 사용하여 원하는 타입만 가능하게 제한함

 

interface MyData<T extends string | number> {
	name : string
	value : T
}