- top 타입 (any, unknown)
- top 타입은 모든 타입이 할당 가능한 타입
- any
- TS가 해당 값에 할당 가능성 또는 멤버에 대해 타입 검사를 수행하지 않도록 명시적으로 지시 (타입 아직 미정의)
- const anyParam = (value: any) ⇒ { … }
- 위 함수는 오류는 발생하지 않지만 런타임 에러 발생
- unknown
- unknown 타입 값의 속성에 직접 접근할 수 없고 top 타입이 아닌 타입에는 할당할 수 없다.
- const anyParam = (value: unknown) ⇒ { … }
- instanceof나 typeof를 사용하여 타입을 narrowing 하거나 타입 어서션을 통해 값의 타입이 제한된 경우에 해당 타입이 갖는 속성에 접근할 수 있다.
-
const anyParam = (value: unknown) => { if (typeof value === 'string') { ... } }
-
- 타입 서술어
- isString() 함수처럼 인자가 특정 타입인지 여부를 나타내기 위해 boolean 값을 반환하는 함수를 위한 구문
-
const isString = (value: unknown): value is string => typeof value === 'string';
-
- isString() 함수처럼 인자가 특정 타입인지 여부를 나타내기 위해 boolean 값을 반환하는 함수를 위한 구문
- 타입 연산자 - typeof
- 제공되는 값의 타입 반환
-
const customer1 = { name: 'Im', mobile: '8282', }; // {name: string, mobile: string} 반환 let customer: typeof customer1;
-
- 제공되는 값의 타입 반환
- 타입 연산자 - keyof
- 존재하는 타입의 키를 바탕으로 유니언 타입 생성
-
const f3 = (customer: 객체, key: keyof 객체) => { … }
-
- 제공되는 값에 존재하는 키만 매개변수의 타입으로 허용하고 싶을 때 typeof 함께 사용
-
const 변수 = (key: keyof typeof 객체)=> 객체[key];
-
- 존재하는 타입의 키를 바탕으로 유니언 타입 생성
- 타입 어서션 (as)
- 값의 타입을 재정의 (확신할 수 있는 경우에만)
-
const 변수 = JSON.parse(someData) as 객체;
-
- 값의 타입을 재정의 (확신할 수 있는 경우에만)
- non-null 어서션
- null 또는 undefined를 포함할 수 있는 변수에서 null과 undefined를 제거한다. (느낌표)
- const jang = 배열.find((a) => a.name === 'jang');
- let 변수: number = jang**!**.age;
- null 또는 undefined를 포함할 수 있는 변수에서 null과 undefined를 제거한다. (느낌표)
728x90
'JS & TS > TypeScript' 카테고리의 다른 글
[TypeScript] 선언 파일과 구성 및 옵션, 타입 운영 (0) | 2024.02.15 |
---|---|
[TypeScript] Generic (0) | 2024.02.15 |
[TypeScript] Class (0) | 2024.02.13 |
[TypeScript] Interface (0) | 2024.02.13 |
[TypeScript] Array, Tuple (0) | 2024.02.13 |