[typescript] 불필요한 타입 추론 방지하기

TypeScript는 정적 타입 언어로서 타입을 명시적으로 선언하거나 타입 추론을 통해 변수, 함수 및 객체의 타입을 추론할 수 있습니다. 하지만 때때로 TypeScript는 의도치 않은 타입 추론을 할 수 있기 때문에 개발자는 이를 방지하기 위한 방법을 찾고 있습니다.

타입 선언

TypeScript에서 타입을 명시적으로 선언하는 것은 잘못된 타입 추론을 방지하는 가장 강력한 방법 중 하나입니다. 변수나 함수의 매개변수, 반환값에 명시적인 타입을 선언함으로써 TypeScript가 올바른 타입을 추론할 수 있도록 도와줍니다.

let name: string = 'John';
function greet(person: string): string {
  return `Hello, ${person}!`;
}

위의 예제에서 name 변수와 greet 함수의 매개변수 person과 반환값에 대해 명시적으로 타입을 선언했습니다.

타입 단언

때로는 TypeScript가 타입을 정확하게 추론하지 못할 때가 있습니다. 이때 타입 단언을 사용하여 개발자가 직접 타입을 지정할 수 있습니다.

let userInput = document.getElementById('userInput') as HTMLInputElement;
userInput.value = 'Hello';

위의 예제에서 getElementById 메서드는 반환 타입이 HTMLElement | null이지만 개발자는 userInputHTMLInputElement로 캐스팅하여 정확한 타입을 명시했습니다.

타입 제한하기

TypeScript에서 any 타입의 사용은 되도록 피하는 것이 좋습니다. any 타입은 타입의 안정성을 해치고 예기치 않은 오류를 발생시킬 수 있기 때문에 사용을 지양해야 합니다. 대신, 가능한한 가능한한 구체적인 타입으로 제한하여 안전성을 높이는 것이 좋습니다.

function calculateLength(str: string): number {
  return str.length;
}

위의 예제에서 str 매개변수의 타입을 any로 선언하는 대신에 string으로 제한하여 안정성을 높였습니다.

결론

TypeScript에서 불필요한 타입 추론을 방지하기 위해 명시적인 타입 선언, 타입 단언 및 타입 제한을 활용할 수 있습니다. 이를 통해 코드의 안정성을 높이고 개발자의 실수를 줄일 수 있습니다.

위의 내용은 TypeScript 공식 문서를 참고하여 작성되었습니다.