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
}