타입스크립트의 타입 별칭 & 타입 추론에 대해 알아봅시다~!
타입 별칭
- 새로운 이름으로 기존의 타입을 참조하는 것을 의미한다.
- 타입 별칭을 이용하여 타입의 새로운 이름을 만들 때 키워드 type을 이용하여 작성한다.
type MyString = string;
let str1: string = 'hello!';
// string 타입처럼 사용할 수 있다.
// myString과 string은 동일한 의미
let str2: MyString = 'hello world!';
타입 별칭 장점
- 인터페이스나 다른 변수를 정의할 때 타입 별칭으로 정의한 타입을 참조하게 됨으로써 코드를 더 간결하고 가독성 좋게 만들 수 있다.
타입 별칭 단점
- 타입 별칭은 말 그대로 타입에 새로운 이름을 부여하는 것에서 그치기 때문에 확장이 되지 않음
- 그렇기 때문에 확장이 필요한 경우에는 인터페이스를 사용한다.(인터페이스는 기존 인터페이스 및 타입 별칭으로 만들어진 타입 둘 다 상속할 수 있음
타입 추론
- 타입 추론은 변수나 함수의 타입을 선언하지 않아도 TypeScript가 자동으로 유추하는 기능이다.
타입스크립트가 타입을 추론하는 경우
- 초기화된 변수
- 기본값이 설정된 매개 변수
- 반환 값이 있는 함수
let isNumber = 123; // isNumber : number
타입스크립트는 isNumber 타입을 자동으로 숫자로 추론한다.
최적 공통 타입
- 여러 타입을 동시에 사용할 경우 최적 공통 타입을 알아서 계산해 준다.
let x = [0, 1, null]; // let x: (number | null)[]
x의 타입을 추론할 때는 배열의 각 아이템을 살펴보고 최적 공통 타입 알고리즘으로 다른 타입들과 가장 잘 호환되는 타입을 선택한다.
문맥상의 타이핑
- 타입스크립트에서 타입을 추론하는 방식 중 하나이다.
- 문맥상의 타이핑(타입 결정)은 코드의 위치(문맥)를 기준으로 정한다.
function add(a, b) {
return a + b;
}
매개변수 a와 b가 모두 숫자 타입이라면, add 함수의 반환 값도 숫자 타입으로 추론한다.
타입 추론 장점
- 코드의 가독성 향상
- 개발 생산성 향상
- 오류 발견 용이성
타입 추론 단점
- 타입 추론이 잘못될 경우 코드 오류 발생
- 명시적인 타입 지정이 필요한 경우가 있음
'Front end > TypeScript' 카테고리의 다른 글
[ TypeScript ] 타입스크립트의 인터페이스란 ? (0) | 2023.06.01 |
---|---|
[ TypeScript ] 타입스크립트의 열거형이란 ? (0) | 2023.05.31 |
[ TypeScript ] 타입스크립트의 연산자 활용 타입이란 ? (0) | 2023.05.31 |
[ TypeScript ] 타입스크립트의 함수란 ? (0) | 2023.05.31 |
[ TypeScript ] 타입스크립트의 타입이란 ? (1) | 2023.05.31 |