Call Signature
type Add = ( a:number, b:number ) => number;
const add:Add = (a,b) => a+b;
Overloading
- Call Signature이 여러개 있을 때, 주로 아래와 같이 사용
type Add = {
(a:number, b:number) : number
(a:number, b:number, c:number) :number,
}
const add:Add = (a, b, c?:number) => {
if(c) return a+b+c
return a+b
}
- 하지만, 이렇게 사용할 수도 있음
type Config = {
path: string,
state: object,
}
type Push = {
(path:string) : void,
(config:Config) : void,
}
const push:Push = (config) => {
if(typeof config === "string") {console.log(config)}
else{
console.log(config.path, config.state)
}
}
'공부 > TypeScript' 카테고리의 다른 글
타입스크립트 챌린지 (7) - 수동 설치하기 (0) | 2022.08.05 |
---|---|
타입스크립트 챌린지 (5) (0) | 2022.08.02 |
타입스크립트 챌린지 (4) (0) | 2022.06.30 |
타입스크립트 챌린지 (2) (0) | 2022.06.28 |
타입스크립트 챌린지 (1) - 오답노트 (0) | 2022.06.27 |