TypeScript
[TypeScript - 10] readonly
whitecoding
2023. 6. 6. 22:28
타입스크립트에서 readonly 키워드는 읽기 전용 속성(Readonly Property)을 정의하는 데 사용됩니다.
읽기 전용 속성은 값의 할당 후에 변경되지 않도록 제한하는 역할을 합니다.
즉, 해당 속성은 초기화 시에만 값을 할당할 수 있고, 이후에는 수정할 수 없습니다.
readonly는 객체의 불변성을 유지하고 실수로 속성을 수정하는 것을 방지하기 위해 사용됩니다.
1. interface에서 readonly
interface Person {
readonly name: string;
age: number;
}
let person: Person = { name: "John", age: 25 };
person.name = "Alice"; // Error: 'name'은 읽기 전용입니다.
person.age = 30; // 유효한 할당
위의 예제에서 Person 인터페이스의 name 속성은 readonly로 정의되었습니다.
따라서 person 객체를 생성할 때 name 속성에 값을 할당할 수 있지만, 이후에는 name 속성의 값을 변경할 수 없습니다.
2. class에서 readonly
class Car {
readonly brand: string;
constructor(brand: string) {
this.brand = brand;
}
}
let car = new Car("BMW");
car.brand = "Audi"; // Error: 'brand'은 읽기 전용입니다.
위의 예제에서 Car 클래스의 brand 속성은 readonly로 정의되었습니다.
brand 속성은 생성자에서 초기값을 받고, 이후에는 수정할 수 없습니다.