[typescript] 변수의 초기값을 통한 타입 추론의 한계

TypeScript는 정적 타입 지정 언어이므로 변수의 타입을 명시적으로 지정할 수 있습니다. 그러나 때로는 변수 선언 시 초기값을 통해 타입을 추론하는 기능이 있습니다. 이는 코드를 간결하게 작성하고 가독성을 높일 수 있는 장점이 있지만, 종종 예기치 않은 결과를 초래할 수 있습니다.

타입 추론의 원리

TypeScript는 변수를 선언할 때 다음과 같은 방법으로 초기값을 통해 변수의 타입을 추론합니다.

let num = 10; // num의 타입은 number로 추론
let str = "Hello"; // str의 타입은 string으로 추론

이러한 방식으로 TypeScript는 초기값을 통해 변수의 타입을 추론하고 지정합니다.

타입 추론의 한계

하지만 때로는 초기값을 통해 타입을 추론하는 것이 바람직하지 않은 경우가 있습니다. 예를 들어, 다음과 같은 상황에서는 추론된 타입이 예상과 다를 수 있습니다.

let data = "10"; // data의 타입은 string으로 추론되지만, 의도는 number일 수 있음

이러한 상황에서 TypeScript는 data 변수를 string으로 추론하게 됩니다. 이 경우, 코드를 작성한 개발자의 의도와 다르게 동작할 수 있으며 예기치 않은 오류를 발생시킬 수 있습니다.

명시적 타입 지정의 중요성

이러한 이유로, 개발자는 변수의 타입을 명시적으로 지정하여 코드의 가독성과 안정성을 높여야 합니다.

let data: number = parseInt("10"); // data의 타입이 number임을 명시적으로 지정

위와 같이 변수의 타입을 명시적으로 지정함으로써 코드의 의도를 명확히 전달할 수 있으며, 타입 추론의 한계를 극복할 수 있습니다.

정리

타입 추론은 코드를 간결하게 작성하고 가독성을 높일 수 있는 장점이 있지만, 예상치 못한 결과를 초래할 수 있습니다. 따라서 명시적인 타입 지정은 코드의 안정성과 가독성을 보장하는 데 중요한 요소입니다.

위에서 설명한 내용을 종합하자면, TypeScript를 사용할 때 변수의 초기값을 통한 타입 추론은 유용하지만, 타입의 의도를 명확히 전달하기 위해 명시적 타입 지정이 중요하다는 것을 알 수 있습니다.

타입스크립트 핸드북 - 타입 추론

권장 독해 시간: 4분