any 타입
- 자바스크립트처럼 어떤 타입이든지 변수에 담을 수 있게 하려면 'any' 타입을 사용하면 된다.
- number값이 들어있어도, string 관련 메서드도 자유롭게 사용할 수 있게 된다.
- 반대로, 모든 타입의 값에 any 타입의 값을 대입할 수 있다.
- 치트키 같은 타입이다. 근데 문제가 안발생하냐? -> NO! 문제가 👿런타임에 발생👿한다. (최악의 상황)
- 쓰지 말자.
unknown 타입
- any와 마찬가지로 어떤 타입이든 담을 수 있다.
- 하지만, any와는 다르게 반대로 다른 타입에 unknown 타입의 값을 대입할 수 없다.
- 덧셈, 뺄셈, 나눗셈, 곱셈 등의 연산과 문자열 관련 메서드도 사용이 불가하다.
- 이걸 활용하려면 조건문으로 검사한 뒤 사용해야 한다.
- 그래서, any보단 차라리 unknown을 써야 한다.
let unknownVar: unknown;
// 어떤 타입이든 담을 순 있다.
unknownVar = "";
unknownVar = 1;
unknownVar = () => {};
// 타입 체크를 한 뒤 이용해야 한다.
if (typeof unknownVar === "number") {
num = unknownVar;
}
'Language > TypeScript' 카테고리의 다른 글
[TypeScript] 객체 타입 간 호환성 (0) | 2025.04.22 |
---|---|
[TypeScript] 객체 타입의 값을 변경할 때 주의사항 : 불변성 (0) | 2025.04.16 |
[TypeScript] 타입 호환성 : 업캐스팅과 다운캐스팅 (0) | 2025.04.11 |
[TypeScript] enum 열거형 사용하기 (0) | 2025.04.04 |
[TypeScript] key-value 데이터에 타입 붙이기 - 인덱스 시그니처 (0) | 2025.04.03 |