-
Tyepscript - Union, any, unknownFront-end/Typesrcipt 2023. 4. 12. 11:03728x90반응형
Tyepscript Union
Tyepscript Union 이란 2가지 이상의 타입을 선언이 필요할때 선언할 수 있는타입이다.
선언 방법은 변수: (타입1 | 타입2) 로 선언할 수 있다.
let myName: (string | number) = 'kim'; let myAge: (string | number) = 27;
배열변수에서의 union type 을 선언하여 숫자 또는 문자열 배열 변수를 만들 수 있다.
let myNumArr: (string | number)[] = [1, 'zelord', 3]; // 숫자 or 문자열 배열 타입선언
배열 뿐만아니라 오브젝트변수에서도 union type 선언이 가능하다.
let myObject: { name: (string | number) } = { name: 'zelord' }; let myObject2: { name: (string | number) } = { name: 27 }; // 문자 or 숫자 타입이 들어갈 수 있다.
Any Type
Any type 이란 모든 자료형의 타입을 변수에 선언할 수 있도록 해준다.
let myAny: any; // any 타입을 선언하면 모든 타입의 값을을 재선언 할 수 있다. myAny = 27; // number 타입 변수 재할당 myAny = 'zelord'; // string 타입 변수 재할당 myAny = null; // null 타입 변수 재할당 myAny = true; // boolean 타입 변수 재할당
any type은 타입을 해제할 때 사용하는 문법이기도 하다.
반응형Unknown Type
Unknown Type 이란 모든 자료형의 타입을 선언할 수있도록 Any Type 과 유사하다.
Any type 보다 Unknown type 이 안전하다.
그 이유는 다른 타입의 변수에 any type을 할당하면 에러가 나타나지 않지만
unknown type을 할당하면 에러가 나타난다.
let myAny: any; // any type 선언 let myUnknow: unknown; // unknown type 선언 let temp :string = myAny; // 타입이 any 라서 허용 가능 let temp :string = unknown; // 타입이 unknown 이라서 허용 불가능
또한 연산에 대해 에러표출 차이가 있다.
let myAny: any; let myUnknow: unknown; myAny - 1; // 허용 가능 myUnknow - 1; // 허용 불가능 (에러)
728x90반응형'Front-end > Typesrcipt' 카테고리의 다른 글
Typescript - Narrowing & Assertion (0) 2023.04.12 Typescript - function parameter, return (0) 2023.04.12 Typescript - Primitive Types (0) 2023.04.12 Typescript - 변수 선언 (0) 2023.04.11 Typescript - 설치 및 셋팅 (0) 2023.04.11