let user: object = {
id: 1,
name: "건규팍",
};
user.id; //object 형식에 id 속성이 없습니다
타입스크립트의 object 타입은 단순 값이 객체임을 표현하는 것 외에는 아무런 정보도 제공하지 않는 타입이기 때문이다.
let user: {
id: number;
name: string;
} = {
id: 1,
name: "건규팍",
};
user.id;
vscode에서 마우스를 호버링 하면 타입을 알려준다.
특정 프로퍼티를 상황에 따라 생략하도록 만들고 싶다면 해당 프로퍼티를 선택적 프로퍼티로 만들어주면 된다.
let user: {
id?: number; // 선택적 프로퍼티가 된 id
name: string;
} = {
id: 1,
name: "이정환",
};
user = {
name: "홍길동",
};
특정 프로퍼티를 읽기 전용으로 만들고 싶다면 프로퍼티의 이름 앞에 readonly 키워드를 붙이면 된다.
let user: {
id?: number;
readonly name: string; // name은 이제 Readonly 프로퍼티가 되었음
} = {
id: 1,
name: "이정환",
};
user.name = "dskfd"; // 오류 발생
의도치 않은 프로퍼티의 수정을 방지할 수 있다.