티스토리 뷰

반응형

Typescript에서 Readonly 속성은 변수, 객체, 클래스의 속성을 읽기 전용으로 만들어줍니다.

즉, 값을 읽을 수는 있지만 변경할 수는 없습니다.

예를 들어, 아래와 같이 Readonly 속성을 사용하여 변수를 만들 수 있습니다.

const myNumber: Readonly<number> = 10;

위 코드에서 myNumber 변수는 Readonly로 선언되어 있기 때문에 값을 변경할 수 없습니다.

객체에서는 아래와 같이 사용할 수 있습니다.

interface Person {
  readonly name: string;
  age: number;
}

const person: Person = {
  name: "John",
  age: 30
}

person.name = "Mike"; // 에러 발생
person.age = 31; // 가능

위 코드에서 Person 인터페이스에서 name 속성은 Readonly로 선언되어 있기 때문에 값을 변경할 수 없습니다.

그러나 age 속성은 일반적인 속성으로 선언되었기 때문에 값을 변경할 수 있습니다.

class Person {
  readonly name: string;
  age: number;

  constructor(name: string, age: number) {
    this.name = name;
    this.age = age;
  }
}

const person = new Person("John", 30);

person.name = "Mike"; // 에러 발생
person.age = 31; // 가능

위 코드에서 Person 클래스에서 name 속성은 Readonly로 선언되어 있기 때문에 값을 변경할 수 없습니다.

그러나 age 속성은 일반적인 속성으로 선언되었기 때문에 값을 변경할 수 있습니다.

 

반응형
댓글