type SuperPrint = <T>(a: T[]) => T
const superPrint: SuperPrint = (a) => a[0]
로 처리했던 것을 다음과 같이 바꿔서 처리할 수도 있다.
function superPrint<T>(a: T[]) {
return a[0]
}
type Player<E> = {
name:string
extraInfo:E
}
const allong: Player<{favFood:string}> = {
name:"allong",
extraInfo: {
favFood:"kimchi"
}
}
이것과
type Player<E> = {
name:string
extraInfo:E
}
type AllongPlyer<{favFood:string}>
const allong: AllongPlayer = {
name:"allong",
extraInfo: {
favFood:"kimchi"
}
}
이것은 동일하며,
type Player<E> = {
name:string
extraInfo:E
}
type AllongExtra = {favFood:string}
type AllongPlayer = Player<AllongExtra>
const allong: AllongPlayer = {
name:"allong",
extraInfo: {
favFood:"kimchi"
}
}
이것과도 동일하다.