[typescript] 객체 분해 할당과 프로퍼티 셋터/게터를 함께 사용하는 예시

TypeScript는 객체 분해 할당 (Object Destructuring)을 사용하여 객체의 프로퍼티를 추출하여 변수에 할당할 수 있습니다. 이 기능은 코드를 간결하게 만들어주고 중복을 제거하여 가독성을 높여줍니다. 프로퍼티 셋터/게터 (Property Setters/Getters)는 객체의 프로퍼티에 대한 값을 설정하거나 가져올 때 사용됩니다.

아래 예시에서는 객체 분해 할당과 프로퍼티 셋터/게터를 함께 사용하는 방법을 살펴봅니다.

class Rectangle {
  private _width: number = 0;
  private _height: number = 0;

  constructor(width: number, height: number) {
    this._width = width;
    this._height = height;
  }

  get width(): number {
    return this._width;
  }

  set width(value: number) {
    this._width = value;
  }

  get height(): number {
    return this._height;
  }

  set height(value: number) {
    this._height = value;
  }
}

const rect = new Rectangle(10, 20);

const { width, height } = rect; // 객체 분해 할당

console.log(`너비: ${width}, 높이: ${height}`); 
// 출력: 너비: 10, 높이: 20

이 예시에서 Rectangle 클래스는 너비와 높이를 나타내는 widthheight 프로퍼티를 가지고 있습니다. 이 프로퍼티들은 getset을 통해 접근될 수 있습니다. rect 인스턴스에서 widthheight를 객체 분해 할당하여 각각 1020으로 초기화된 값이 출력됩니다.

이처럼 TypeScript에서 객체 분해 할당과 프로퍼티 셋터/게터를 함께 사용함으로써 코드를 간결하게 작성하고 가독성을 높일 수 있습니다.