[typescript] 타입 추론과 타입 어노테이션을 함께 사용하는 방법

TypeScript를 사용하다 보면 변수, 함수, 클래스 등을 선언할 때 타입 추론과 타입 어노테이션을 함께 사용해야 하는 경우가 있습니다. 이를 효과적으로 활용하기 위해 타입 추론과 타입 어노테이션의 차이를 이해하고, 어떤 상황에서 어떻게 사용해야 하는지 알아보겠습니다.

타입 추론(Type Inference)

TypeScript는 변수를 선언할 때 그 값을 기준으로 해당 변수의 타입을 추론하는 기능을 가지고 있습니다. 이를 타입 추론이라고 합니다. 예를 들어, 다음과 같이 변수를 선언할 때 초기값을 할당하면 TypeScript는 해당 값의 타입을 추론하여 변수의 타입을 결정합니다.

let num = 10; // num의 타입은 number로 추론됨

위의 예시에서 TypeScript는 num 변수를 number 타입으로 추론합니다.

타입 어노테이션(Type Annotation)

타입 어노테이션은 변수, 함수 매개변수, 함수 반환 값 등에 명시적으로 타입을 설정하는 것을 말합니다. 이를 통해 TypeScript에게 명시적으로 타입 정보를 제공할 수 있습니다.

let num: number = 10; // num의 타입을 명시적으로 number로 설정

위의 예시에서 : 뒤에 타입을 명시하는 것이 타입 어노테이션입니다.

타입 추론과 타입 어노테이션의 함께 사용

타입 추론과 타입 어노테이션은 함께 사용하여 변수를 선언할 수 있습니다. 이를 통해 코드의 가독성을 높이고, 명시적인 타입 정보를 제공할 수 있습니다.

let num = 10; // 타입 추론에 의해 num의 타입은 number로 결정됨
let message: string; // 타입 어노테이션을 사용하여 message의 타입을 명시적으로 string으로 설정

이와 같이, 코드 내에서 타입 추론과 타입 어노테이션을 함께 사용하여 TypeScript가 자동으로 타입을 추론하면서도, 필요한 경우 명시적으로 타입을 지정할 수 있습니다.

위와 같이 타입 추론과 타입 어노테이션을 적절히 함께 활용하여, TypeScript로 안정적이고 가독성 높은 코드를 작성할 수 있습니다.

마무리

이번 포스트에서는 TypeScript에서 타입 추론과 타입 어노테이션을 어떻게 함께 사용하는지에 대해 알아보았습니다. 이를 통해 TypeScript 코드를 작성할 때 명시적인 타입 정보를 제공하면서도, TypeScript가 타입을 추론하도록 하는 방법에 대해 이해할 수 있었습니다.

새로운 내용이나 궁금한 점이 있으면 언제든지 물어봐주세요!

References