And Brain said,
TypeScript, Function | Call Signature, Overloading 그리고 Polymorphism 본문
IT/TypeScript
TypeScript, Function | Call Signature, Overloading 그리고 Polymorphism
The Man 2022. 12. 25. 16:31반응형
오늘은 TypeScript의 호출 시그니쳐(Call Signature), Overloading 그리고 다형성(Polymorphism)에 대해서 배워볼 것이다.
Call Signature
호출 시그니쳐란 간단히 말해 함수 위에 커서를 올리면 나오는 정보를 말하며, 함수를 어떻게 호출하고 그 반환 타입은 무엇인지 알려준다.
이렇게 커스텀 타입을 선언해주고
함수 위에 커서를 올리면 이 함수의 정보가 나온다.
Overloading
오버로딩(Overloading)이란 동일한 이름에 매개 변수만 다른 여러개의 함수를 만드는 것을 함수의 오버로딩이라고 한다.
함수의 다형성을 지원한다.
이렇게 파라미터가 다른 동일한 이름의 함수들을 만들 수 있다.
위의 경우는 파라미터의 개수가 같은 경우이고 만약 파라미터의 개수가 다르다면 extra 파라미터의 타입을 정해주어야 한다.
이런 식으로 c에 ?를 붙여주어서 타입을 정해준다.
?만 봐도 알 듯이 이는 추가적인 옵션 파라미터이다.
Polymorphism
다형성(Polymorphism)이란 인자들과 반환값에 대하여 형태(타입)에 따라 그에 상응하는 형태(타입)를 갖는 것이다.
제네릭을 사용하여 알아보자.
이런 식으로 선언하지않은 호출 시그니쳐임에도 타입을 알아서 유추해준다.
any 타입과 비슷해보이지만 차이점은 any 타입은 파라미터의 타입의 정보를 잃어버리지만 제네릭은 파라미터 타입의 정보를 잃지 않는다.
Thanks for watching, Have a nice day.
반응형
'IT > TypeScript' 카테고리의 다른 글
TypeScript, 불확실한 변수에 대비하라 (2) | 2023.03.15 |
---|---|
예절을 배운 JavaScript, 'TypeScript' (1) | 2022.11.11 |
정장입은 JavaScript, 'TypeScript' (2) | 2022.11.09 |
Comments