interface Name {
name: type
.
.
.
}
interface Animal {
name: string
age: number
isValid: boolean
}
const lion: Animal = {
name: '사자',
age: 500,
isValid: true
}
const tiger: Animal = {
name: '호랑이',
age: '600', // error
isValid: 123 // error
}
?
)interface Animal {
name: string
age: number
isValid?: boolean
}
const lion: Animal = {
name: '사자',
age: 500
}
Animal 인터페이스의 isValid 속성은 선택적 속성(?
)이기 때문에 사용을 해도 되고 하지 않아도 됩니다.
interface Animal {
name: string
readonly age: number
isValid?: boolean
}
const lion: Animal = {
name: '사자',
age: 500,
isValid: true
}
lion.isValid = false;
lion.age = 10; // error
Animal 인터페이스의 age 속성은 읽기전용 속성(readonly)으로 값의 재할당이 불가능합니다.