-
[TypeScript] 타입 추론 (Type Interface)👩🏻💻 정리/TypeScript 2021. 9. 28. 20:27
매번 변수를 선언할 때마다 타입을 일일이 정의하는 것이 번거롭다고 생각할 수도 있다. 그런 번거로움을 해결하기 위해 타입 추론이라는 개념이 존재한다.
정적 타입 언어는 원래 모든 변수에 정확히 타입을 정의하지 않으면 에러가 나지만, 타입스크립트에서는 타입을 표기하지 않아도 타입스크립트 컴파일러가 변수에 할당된 값을 보고 타입을 추측한다.
let starArr = [1, 2, 3]; starArr.push('4점'); // 에러: Argument of type 'string' is not assignable to parameter of type 'number'.
위와 같이 starArr라는 변수에 숫자로만 된 배열을 정의하고, push 메소드를 활용하여 string을 배열에 넣어주려고 하면 string은 number 타입에 할당할 수 없다는 에러가 뜬다.
이는 starArr가 number[] 타입으로 추론되어 문자열을 요소로 추가하면 에러가 발생하는 것이다!
💡 그렇다면 아래와 같은 경우에는 어떤 타입으로 추론될까?
let starArr = [1, 2, '3점']; // let starArr: (string | number)[] 타입으로 추론됨
이는 union 타입으로 문자열이나 숫자가 올 수 있는 타입으로 정의된다.
'👩🏻💻 정리 > TypeScript' 카테고리의 다른 글
오답노트 작성. type과 interface. (1) 2024.01.10 [TypeScript] 타입 호환성 (Type Compatibility) (0) 2021.09.28 [TypeScript] 인터페이스 (Interface) (0) 2021.09.28 [TypeScript] 기본 타입 (0) 2021.09.16 [TypeScript] 함수의 타입 정의 (0) 2021.09.15