코딩/한 입 크기로 잘라먹는 타입스크립트

[TypeScript] 집합의 관점에서의 타입스크립트

김기지 2023. 8. 8. 22:48

타입스크립트의 '타입'은 '집합'이다.
집합이란?

동일한 속성을 갖는 여러개의 요소들을 하나의 그룹으로 묶은 단위

여러개의 숫자 값들을 묶어 놓은 집합을 타입스크립트에서는 number 타입이라고 부른다.

 

Number Literal 타입

오직 하나의 값만 포함하는 타입

number literal 타입 또한 하나의 값만 포함하는 아주 작은 집합이다.

20이라는 타입에 속하는 요소인 숫자 20은 숫자이기 때문에 이 집합 외에도 number타입이라는 거대한 집합에도 속하는 값이다. 

즉, number literal 타입은 number 타입이라는 집합에 포함되는 부분 집합이다.

이러한 관계에서 다른 타입을 포함하는 타입을 슈퍼 타입(부모 타입), 어떤 타입에 속하는 타입을 서브 타입(자식 타입)이라고 한다.

이 관계를 계층으로 표시한다면 타입 계층도와 같은 모습을 한다.

결국 타입스크립트가 제공하는 여러가지 기본 타입들 간의 집합으로써의 부모-자식 관계를 형성하고 있다는 것을 타입 계층도를 통해 알 수 있다.

 


🍋 타입 호환성

타입 호환성이란...

더보기

A와 B 두개의 타입이 존재할 때 A 타입의 값을 B 타입으로 취급해도 괜찮은지 판단하는 것을 의미한다.

만약 A 타입의 값이 B 타입의 값으로 취급되어도 괜찮다면 '호환된다', 안된다면 '호환되지 않는다'라고 한다.

number 타입은 number literal 타입의 슈퍼 타입으로 number literal 타입의 값은 number 타입의 값으로 호환되지만 그 반대는 호환되지 않는다.

let num1:number = 10;
let num2:10 = 10;
num1=num2;
num2=num1;  'number'형식은 '10'형식에 할당할 수 없습니다.

서브타입의 값을 슈퍼 타입의 값으로 취급하는 것을 '업 캐스팅' 반대는 '다운 캐스팅'이라고 부르며 업 캐스팅은 모든 상황에 가능하지만 다운 캐스팅은 대부분의 상황에 불가능하다.'


🔗 타입스크립트 강의

 

한 입 크기로 잘라먹는 타입스크립트 - 인프런 | 강의

문법을 넘어 동작 원리와 개념 이해까지 배워도 배워도 헷갈리는 타입스크립트 이제 제대로 배워보세요! 여러분을 타입스크립트 마법사🧙🏻‍♀️로 만들어드립니다., 프론트엔드의 피할 수

www.inflearn.com

 

728x90