My Boundary As Much As I Experienced

TypeScript) 객체 타입 본문

FrontEnd/TypeScript

TypeScript) 객체 타입

Bumang 2023. 10. 17. 23:54

직관적으로 오브젝트의 타입 지정은 아래처럼 하면 될거같다.

const person: object = {
  name: "bumang",
  age: 30,
};

하지만 이건 틀렸습니다~

object라고 타입지정을 해버리면 타입스크립트는 이게 빈 객체{} 인줄 안다.

빈 객체가 아니라 안에 속성들이 있다면 그 속성들의 타입을 모두 지정해줘야 한다.

const person: object = {
  name: "bumang",
  age: 30,
};
// 라고 쓰면

const person: {} = {
  name: "bumang",
  age: 30,
}
// 처럼 쓴 것과 같다.
// 둘 다 안 된다.

 


타입스크립트에서 객체의 타입을 명확히 기입하려면 아래처럼 하면 된다.

const person: {
  name: string;
  age: number;
} = {
  name: "bumang",
  age: 30
}
// 굳이 명시적인 타입 지정을 하자면
//으로 해야된다.

 

사실 아래처럼 타입 지정을 안 해도 타입스크립트가 추론 가능하다면 굳이 안 적어도 된다.

const person = {
  name: "bumang",
  age: 30
}