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

+ Recent posts