4.5.3 함수 파라미터 타입 구체화
앞에서 변수 타입을 정의했기 때문에 이제는 함수의 파라미터 타입을 좀 더 구체적으로 정의해 볼 수 있습니다. 여기에서 구체적이라는 의미는 타입을 목적에 맞게 정확한 타입으로 지정한다는 것입니다. 예를 들어 다음 코드 중에서 구체적인 타입은 두 번째 타입입니다.
var str: any = 'hi';
var str: string = 'hi';
이 코드의 any와 string 타입은 모두 에러 없이 잘 지정된 타입들입니다. 타입스크립트 관점에서 잘못된 타입일 때만 앞서 본 것처럼 빨간색 줄로 타입 에러를 표시할 텐데요. str 변수에 hi라는 문자열을 취급하고 있기 때문에 문자열 타입을 의미하는 string이나 모든 데이터 타입을 의미하는 any를 모두 사용할 수 있습니다.
다만 문자열이기 때문에 데이터 성격에 가장 적합한 string으로 타입 범위를 좁혀 주는 것은 바로 타입을 구체화한다는 의미입니다. 타입을 구체적으로 정의할수록 타입스크립트의 장점을 극대화할 수 있고, 타입을 느슨하게 정의할수록 타입을 잘못 정의하여 실행 시점의 에러로 이어질 확률이 높아집니다. 좀 더 자세한 내용은 ‘12장 타입 추론’에서 알아보고 다음 실습을 진행해 보겠습니다.