반응형
타입스크립트를 사용해서 객체 프로퍼티의 타입을 지정할 때 쓸 수 있는 특이한 기능들에 대해 알아보자.
? (Optional)
?는 선택적인 프로퍼티의 타입을 정의하는 단축어로 해당 타입이거나 undefined라고 해주는 것과 동일한 의미이다.
type Player = {
name: string,
age?: number,
}
const jieun : Player = {
name: ‘jieun’,
}
const coll : Player = {
name: ‘coll’,
age: 20,
}
age?: number는 age: number | undefined와 같은 의미이며 따라서 위와 같이 age 값을 갖지 않는 객체를 만들 수 있는 것이다.
readonly
readonly는 요소들을 읽기 전용으로 만들 때 사용하며, readonly 요소들의 값을 변경하려고 하면 오류가 발생한다.
type Player = {
readonly name: string,
age?: number,
}
const lee: Player = {
name: 'lee',
}
lee.name = 'choi' // 에러
const numbers: readonly number[] = [1, 2, 3]
numbers.push(1) // 에러
반응형
'Web-Frontend > TypeScript' 카테고리의 다른 글
[TS] 타입스크립트의 특이한 타입 (any, unknown, never) (0) | 2023.11.08 |
---|---|
[TypeScript] input onChange 타입 오류 해결 (0) | 2023.07.07 |