[typescript] 타입스크립트 객체 분해 할당과 프로퍼티 셋터/게터를 사용한 데이터 관리의 효율성

타입스크립트(TypeScript)는 정적 타입을 지원하는 자바스크립트의 확장 버전으로, 객체 지향적 프로그래밍을 보다 쉽게 할 수 있도록 도와줍니다. 객체 분해 할당(destructuring assignment)과 프로퍼티 셋터/게터(property setter/getter)를 함께 사용하여 데이터를 효율적으로 관리하는 방법에 대해 알아봅시다.

1. 객체 분해 할당

객체 분해 할당은 객체의 속성을 해체하여 개별 변수로 쉽게 할당할 수 있는 기능입니다. 이를 통해 변수명과 객체의 속성명이 일치하는 경우, 간단하게 값을 추출하여 활용할 수 있습니다. 예를 들어,

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

위 예제에서 { name, age } = personperson 객체의 속성 nameage를 추출하여 각각의 변수에 할당하는 것을 의미합니다. 이를 통해 데이터를 효율적으로 활용할 수 있습니다.

2. 프로퍼티 셋터/게터 활용

프로퍼티 셋터/게터를 사용하여 데이터에 접근하는 방식을 제어할 수 있습니다. 이를 통해 데이터를 쉽게 관리하고 보호할 수 있으며, 데이터의 유효성을 검증하거나 추가적인 동작을 수행할 수 있습니다.

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 myCircle = new Circle();
myCircle.radius = 10; // setter 호출
console.log(myCircle.radius); // getter 호출

위 예제에서 Circle 클래스는 _radius 프로퍼티에 대해 radius 게터와 셋터를 정의하고 있습니다. 이를 통해 데이터에 접근하는 방식을 다양한 조건에 맞게 제어할 수 있습니다.

결론

타입스크립트에서 객체 분해 할당과 프로퍼티 셋터/게터를 함께 사용하여 데이터를 효율적으로 관리할 수 있습니다. 객체 분해 할당은 데이터를 손쉽게 추출하여 활용할 수 있게 해 주고, 프로퍼티 셋터/게터는 데이터 접근을 제어하여 안전하고 유연한 데이터 관리를 가능케 합니다.

이러한 기능들을 통해 코드의 가독성을 높이고 유지보수성을 향상시킬 수 있으며, 데이터 관리에 더 많은 제어와 유연성을 제공할 수 있습니다.

참고 문헌: