/ TYPESCRIPT

TypeScript - Union Type, any, unknown

TypeScript은 다음과 같이 구성되어 있습니다.

Union Type, Any, unknown에 대해

이번 글에는 Union Type, Any, unknown에 대해서 알아보겠습니다.

Union Type

앞서 Union Type에 대해서 언급한 적이 있습니다. Union Type은 “A 또는 B 타입이 들어올 수 있어요”라는 상황에서 사용할 수 있는데 “또는”이라는 것을 나타냅니다. “|” 기호를 통해 나타냅니다.

let age : string | number = 100;

age라는 변수는 100이라는 number타입을 할당해도 되고, “100”이라는 string타입을 할당해도 되는 것입니다.

let arr : (number | string)[] = ["A",1,2];
let obj : { data : (number | string) } = { data : "534" }

Array와 Object의 경우에는 위처럼 타입을 정의하면 됩니다.

any와 unknown

let aaa : any = 12;

any타입은 그 어떤 타입이 와도 OK라는 뜻입니다. 타입을 막 바꿔도 에러가 발생하지 않습니다. 에러가 나지 않으니 마냥 좋은 것이 아닙니다. 타입과 관련해서 버그가 발생할 경우 추적하기 힘들어지고 타입스크립트를 사용하는 의미가 없는 것이죠.

unknown이라는 타입도 있습니다. unknown 역시 any타입처럼 에러가 발생하지 않습니다. 그럼 차이점이 무엇일까요? unknown타입은 any타입을 제외한 다른 타입으로 선언한 변수에 할당할 수 없으며, unknown으로 선언된 변수는 프로퍼티에 접근이 불가하고, 인스턴스를 생성할 수 없습니다.

정리하면, 아직 변수에 무엇이 들어갈지 애매할 때, 조금의 안전성을 가져가고 싶다면 unknown타입을 쓰는 것입니다. 많이 쓰진 않지만 any와 unknown에 대해 알아보았습니다.

End.