[typescript] 타입 어노테이션과 타입 단언

본 포스트에서는 TypeScript에서 타입 어노테이션과 타입 단언이 무엇이며 어떻게 사용되는지 알아보겠습니다.

타입 어노테이션 (Type Annotation)

타입 어노테이션은 변수 또는 함수의 매개변수, 반환값 등에 타입을 명시하는 것을 말합니다. TypeScript는 변수나 함수에 할당되는 값의 타입을 추론하려고 노력하지만, 때로는 개발자가 직접 타입을 명시해야 하는 경우가 있습니다. 이를 위해 타입 어노테이션을 사용할 수 있습니다.

예를 들어, 다음과 같이 변수에 타입 어노테이션을 추가할 수 있습니다.

let age: number;
age = 30;

위 예제에서 age 변수에 number 타입을 명시하고, 그 이후에 number 타입의 값을 할당했습니다.

함수의 매개변수나 반환값에도 타입 어노테이션을 추가할 수 있습니다.

function add(x: number, y: number): number {
  return x + y;
}

위 예제에서 add 함수의 매개변수 xy, 반환값이 각각 number 타입임을 명시했습니다.

타입 단언 (Type Assertion)

타입 단언은 TypeScript에게 개발자가 어떤 값의 타입을 확신한다는 것을 알려주는 것입니다. 주로 DOM API나 타입 추론이 제대로 되지 않는 상황에서 사용됩니다.

let someValue: any = 'hello world';
let strLength: number = (someValue as string).length;

위 예제에서 someValue 변수의 타입을 any로 지정했지만, 개발자는 해당 값이 실제로 문자열이라는 것을 알고 있습니다. 따라서 타입 단언을 사용하여 someValuestring으로 캐스팅하여 문자열의 길이를 구할 수 있습니다.

결론

타입 어노테이션과 타입 단언은 TypeScript에서 타입 시스템을 더욱 강력하고 안정적으로 만들어줍니다. 개발자는 이러한 기능들을 활용하여 코드의 가독성을 높이고 에러를 미리 방지할 수 있습니다.