[typescript] 타입 추론과 다형성
- 타입 추론
- 다형성
1. 타입 추론
타입스크립트에서는 변수를 선언할 때 해당 변수의 타입을 명시적으로 지정하지 않아도 컴파일러가 타입을 추론할 수 있습니다. 이를 타입 추론이라고 합니다.
예를 들어, 다음 코드를 살펴봅시다.
let name = "John";
위 코드에서는 name
변수의 타입을 명시하지 않았지만, TypeScript는 변수에 할당된 값의 타입을 분석하여 name
변수를 string
타입으로 추론합니다.
특히, 함수의 매개변수에 대해서도 마찬가지로 타입 추론이 이루어집니다.
function sayHello(message: string) {
console.log(`Hello, ${message}!`);
}
위 코드에서 TypeScript는 message
매개변수의 타입을 명시했지만, 만약 명시하지 않았다면 해당 매개변수의 타입도 인자값을 통해 추론할 수 있습니다.
2. 다형성
타입스크립트에서는 인터페이스와 제네릭을 활용하여 다형성을 구현할 수 있습니다. 다형성은 동일한 인터페이스나 클래스를 이용하여 다양한 타입을 다루는 것을 말합니다.
예를 들어, 다음과 같이 제네릭을 사용하여 Array
타입의 다형성을 구현할 수 있습니다.
function getFirstElement<T>(arr: T[]): T {
return arr[0];
}
let strArr = ["apple", "banana", "cherry"];
let firstElement = getFirstElement(strArr); // firstElement의 타입은 string으로 추론됨
위 코드에서 getFirstElement
함수는 입력으로 받는 배열의 요소들의 타입에 따라 다양한 반환값을 가질 수 있습니다. 이를 통해 코드의 재사용성과 유지보수성을 높일 수 있습니다.
타입 추론과 다형성은 TypeScript의 강력한 기능으로, 코드를 더욱 안전하고 유연하게 작성할 수 있도록 도와줍니다.
참고 자료
- TypeScript 공식 문서: Type Inference
- TypeScript 공식 문서: Generics