728x90
반응형
Call Signatures
type Add = (a:number, b:number) => number //함수의 리턴값의 type이 number이다!
function의 type을 정해두는 것!
type Add = { (a:number, b:number) : number }
위의 코드와 같은 유형
오버로딩은 함수가 여러개의 call signatures를 가지고 있을 때 발생시킨다.
Overloading
한 클래스에 이름이 동일한 메서드가 중복 정의되어 있는 경우를 메서드 오버로딩(overloading)이라 한다.
또 다른 예
// call signatures 파라미터의 타입 다른 예
type Add = {
(a:number, b:number) : number
(a:number, b:string) : number
}
const add: Add = (a, b) => {
if(typeof b === "string") return a
return b
}
오버로딩의 좋은 예
type Config = {
path:string,
state:object
}
type Push = {
(push:string) : void
(config: Config) :void;
}
const push:Push = (config) => {
if(typeof config === "string") console.log(config);
else {
console.log(config.path)
}
}
만약 내가 string이나 config타입을 가지고 있다면 타입스크립틑 내부에서 그 타입을 체크하도록 해준다.
파라미터의 개수가 다를 때 일어나는 경우
728x90
반응형
'Frontend > Typescript' 카테고리의 다른 글
노마드 코드 - 타입 스크립트로 블록체인 만들기 ([key:string] , interfaces - 타입과 인터페이스 비) (0) | 2023.10.18 |
---|---|
노마드 코드 - 타입 스크립트로 블록체인 만들기 (Classes) (0) | 2023.10.17 |
노마드 코드 - 타입 스크립트로 블록체인 만들기 (Polymorphism) (0) | 2023.10.16 |
노마드 코드 - 타입스크립트로 블록체인 만들기 overview of typescript (0) | 2023.10.14 |
Typescript란? (1) | 2023.10.14 |