[typescript] 타입스크립트에서 객체 분해 할당과 프로퍼티 셋터/게터의 일반적인 사용 사례

타입스크립트(TypeScript)는 자바스크립트의 상위 집합으로, 정적 타입과 객체 지향 프로그래밍을 지원하는 프로그래밍 언어입니다. 이번 블로그에서는 객체 분해 할당(Destructuring Assignment)프로퍼티 셋터(Getter)/게터(Setter)의 일반적인 사용 사례에 대해 살펴보겠습니다.

객체 분해 할당(Destructuring Assignment)

객체 분해 할당은 객체의 속성을 해체하여 개별 변수로 할당하는 기능을 제공합니다. 이는 반복적인 속성 접근을 줄이고 코드의 가독성과 유지보수성을 향상시킵니다.

const person = {
  name: 'John',
  age: 30,
  gender: 'male'
};

const { name, age } = person;
console.log(name); // 'John'
console.log(age); // 30

위 예제에서 person 객체의 nameage 속성을 객체 분해 할당을 통해 각각 nameage 변수에 할당했습니다. 이를 활용하면 객체의 특정 속성에 빠르게 접근할 수 있습니다.

프로퍼티 셋터(Getter)/게터(Setter)

프로퍼티 셋터(Getter)와 게터(Setter)는 클래스나 객체의 속성에 대한 접근을 제어하고 연산을 수행하는데 사용됩니다. 이를 활용하여 객체 접근을 추상화하고 데이터 유효성을 유지할 수 있습니다.

class Circle {
  private _radius: number = 0;

  get radius(): number {
    return this._radius;
  }

  set radius(value: number) {
    if (value < 0) {
      throw new Error('Radius cannot be negative');
    }
    this._radius = value;
  }
}

const c = new Circle();
c.radius = 5; // setting radius using setter
console.log(c.radius); // getting radius using getter

위 예제에서 Circle 클래스는 radius 속성에 대한 프로퍼티 셋터와 게터를 정의하여, 외부에서 속성 값을 설정하거나 가져올 때 추가적인 로직을 수행하도록 했습니다.

결론

객체 분해 할당과 프로퍼티 셋터/게터는 타입스크립트에서 객체의 속성을 효율적으로 다루고, 데이터의 접근과 제어를 세밀하게 다루는 데 유용합니다. 이를 활용하여 코드의 가독성과 안전성을 높일 수 있습니다.

참고 문헌: