[typescript] 타입스크립트의 타입 추론과 타입 어노테이션 비교

타입스크립트는 정적 타입 지정을 통해 코드의 안정성을 높이고 오류를 줄일 수 있는 강력한 기능을 제공합니다. 타입스크립트에서 타입을 지정하는 데에는 타입 추론타입 어노테이션 두 가지 방법이 있습니다.

타입 추론 (Type Inference)

타입 추론은 타입스크립트가 코드를 분석하여 변수의 타입을 추론하는 기능입니다. 변수를 선언하고 초기값을 할당함으로써 타입스크립트가 자동으로 해당 변수의 타입을 판단합니다.

let x = 10; // 변수 x의 타입은 number로 추론됨
let y = "hello"; // 변수 y의 타입은 string으로 추론됨

또한, 변수에 할당된 값이 여러 타입 중 하나로 추론되는 경우 유니온 타입으로 추론됩니다.

let z = 10; // 변수 z의 타입은 number로 추론됨
z = "hello"; // 에러: z는 number 타입으로 이미 추론되었기 때문에 문자열을 할당할 수 없음

타입 어노테이션 (Type Annotation)

타입 어노테이션은 개발자가 직접 변수 또는 함수의 타입을 지정하는 것입니다. 이를 통해 코드의 가독성을 높이고, 특정 타입으로 고정하고자 할 때 사용합니다.

let a: number = 10; // 변수 a의 타입을 명시적으로 number로 지정
let b: string; // 변수 b의 타입을 선언만 하고 초기값은 할당되지 않음

함수의 매개변수와 반환 값에 대해서도 타입 어노테이션을 사용할 수 있습니다.

function greet(name: string): string {
  return "Hello, " + name;
}

정리

타입 추론은 타입스크립트가 코드를 분석하여 타입을 자동으로 추론하는 기능이며, 타입 어노테이션은 개발자가 직접 타입을 지정하는 기능입니다. 두 가지 방법을 적절히 조합하여 코드를 작성하면 보다 명확하고 안전한 타입스크립트 코드를 작성할 수 있습니다.

위의 내용은 타입스크립트 핸드북 - 타입 추론에서 확인할 수 있습니다.