728x90
이러한 객체 리터럴이 존재한다고 해보자.
let seungkyu: {name: string, age: number} = {
name: "seungkyu",
age: 27
}
이거를 보내는 쪽에서는 어떤 타입들인지 알고 있겠지만, 만약 이거를 json으로 받는 상황이라고 해보면
그냥 이렇게 올것이고 이거를 JSON.parse로 파싱을 해도 안에 value들의 타입을 알 수 없다.
그렇기에 타입스크립트는 해당 타입을 그냥 any로 추론한다.
이렇게 any는 진짜 모든것이다.
여기에는 어떤 타입도 들어갈 수 있다.
let a: any = 1;
a = "seungkyu"
애초에 타입을 any로 선언하면 number를 넣었다가, string을 넣는 이런 방법도 가능해진다.
또한 이런 원시타입 말고도
객체도 any로 지정이 가능하다.
let seungkyu_info: {name: string, age: number, lived: any} = {
name: "seungkyu",
age: 27,
lived: {
country: "korea"
}
}
이렇게 any 타입은 편리해보이지만, 역시 사용을 자제하는 것이 좋다.
사실 json을 response로 받더라도, 안의 형식은 이미 공식문서로 알고 있는 경우가 많다.
let seungkyu_info: {name: string, age: number, lived: any} = {
name: "seungkyu",
age: 27,
lived: {
country: "korea"
}
}
어쩔 수 없는 경우에만 any 타입을 사용하고, 최대한 타입을 지정해서 사용하도록 하자.
'Node > TypeScript' 카테고리의 다른 글
TypeScript에서 인터페이스 (0) | 2025.06.29 |
---|---|
TypeScript에서 튜플 (0) | 2025.06.29 |
TypeScript에서 배열 (1) | 2025.06.29 |
TypeScript의 타입 어노테이션 및 타입 추론 (0) | 2025.06.29 |
TypeScript를 쓰는 이유 (0) | 2025.06.28 |