타입 추론(Type Inference)은 타입스크립트에서 자동으로 타입이 결정되는 것입니다. 따라서 항상 모든 타입을 명시해 줄 필요는 없습니다.
다음과 같이 타입을 명시하지 않아도 컴파일 에러가 발생하지 않습니다. 변수를 선언함과 동시에 타입을 유추하여 결정합니다.
let text = 'hello';
그래서 데이터를 재할당할 시 다른 타입의 데이터를 할당한다면 에러가 발생합니다.
text = 100; //에러
함수에서도 타입 추론이 가능합니다. 만약 파라미터에 타입을 명시하지 않는다면, 에러를 발생시키지는 않지만 암묵적으로 any
타입이 추론되어 경고를 나타내줍니다.
function print(message){
console.log(message);
}
print(1);
print("문자");
print(true);
만약 default값을 사용한다면, 그 값의 타입으로 추론됩니다.
function print(message = 'hello'){
console.log(message);
}
print("문자");
print(1); //에러
함수에서 return 되는 값에도 타입 추론이 가능합니다. 해당 함수에서 반환받은 값이 할당된 변수도 자동으로 타입 추론됩니다.
function add(a: numebr, b: number) {
return a+b;
}
const sum = add(1,2);
타입스크립트가 자동으로 타입을 추론해주기 때문에 개발자 입장에서는 간단한 타입의 작성은 하지 않아도 되지만, 협업을 위해서 타입을 명시해주는 것이 가독성에 좋습니다.