타입 추론
타입이 정의되어 있지 않은 변수의 타입을 자동으로 추론해주는 타입스크립트의 기능이다.
밑의 예시를 보며 타입 추론이 무엇인가 이해해보자 !
function add(num1: number, num2: number, show: boolean, sentence: string) {
let sumReslut = num1 + num2;
if (show) {
console.log(sentence + sumReslut);
}
}
let number1 = 1;
let number2 = 2.5;
let isShow = true;
let sentence = "Result is ";
let result = add(number1, number2, isShow, sentence);
위 코드에서 add 함수의 매개변수의 타입은 우리가 number, boolean, string과 같이 지정해주었다.
반면, add 함수 안의 sumResult와 9~12번째 줄에서의 number1, number2, isShow, sentence는 우리가 타입을 지정해두지 않았지만, 타입스크립트에는 타입 추론이라는 내장 기능이 있어서 타입을 굳이 지정해주지 않아도 괜찮은것이다.
"타입 추론에 의해 이러한 값들의 타입이 제대로 지정된게 맞아 ??" 라는 의문이 들 수도 있다.
그렇다면 직접 확인해보자 !!
우선 한 예시로 number1 위에 마우스를 올리면 ...
이렇게 let number1: number로 타입이 숫자로 제대로 지정된 것을 확인할 수 있다.
let number1 : number = 1;
결국, number1을 이렇게 사용하고 있다는 뜻이 된다.
그러면, 이런식으로 타입 추론을 사용하지않고 number1과 같이 타입을 지정하여 사용해도 상관없을까 ?
결론부터 말하자면, 사용은 해도 되지만 좋은 작업은 아니다.
왜냐하면, 타입스크립트는 타입을 완벽하게 추론할 수 있기 때문에 결과적으로 number1에 타입을 두번 지정해주는 작업이 되어, 중복되는 작업이 되기 때문에 좋은 방식은 아니다.
let number1 : number;
하지만, 위와 같이 number1에 값을 바로 초기화하지 않고, 나중에 값을 할당하는 경우라면 사용해도 좋다 !
'Typescript' 카테고리의 다른 글
객체, 배열, 튜플, enum, any, 유니언, 리터럴 타입 (1) | 2025.05.30 |
---|---|
타입스크립트 vs 자바스크립트 (2) | 2025.05.27 |
타입스크립트란 ? (1) | 2025.05.27 |