[typescript] 객체 분해 할당과 프로퍼티 셋터/게터를 사용한 코드 리팩토링 방법

코드를 작성할 때 객체 분해 할당과 프로퍼티 셋터/게터를 올바르게 활용하면 코드를 더 간결하고 가독성 있게 만들 수 있습니다. 이번 블로그에서는 TypeScript에서 객체 분해 할당과 프로퍼티 셋터/게터를 사용하여 코드를 리팩토링하는 방법에 대해 살펴보겠습니다.

객체 분해 할당을 사용한 코드 리팩토링

객체 분해 할당은 객체의 속성을 추출하여 개별 변수로 할당하는 방법입니다. 이를 통해 코드를 간결하게 작성할 수 있습니다. 예를 들어, 다음과 같은 객체가 있다고 가정해봅시다.

const user = {
  name: 'Alice',
  age: 30,
  isAdmin: true
};

이 객체의 속성들을 별도의 변수로 추출하여 사용하려면 객체 분해 할당을 사용할 수 있습니다.

const { name, age, isAdmin } = user;

console.log(name); // 'Alice'
console.log(age); // 30
console.log(isAdmin); // true

위의 예제에서 볼 수 있듯이, 객체 분해 할당을 사용하면 불필요한 중복을 줄이고 코드를 간결하게 만들 수 있습니다.

프로퍼티 셋터/게터를 사용한 코드 리팩토링

프로퍼티 셋터/게터를 사용하면 객체의 속성을 읽거나 쓸 때 추가적인 로직을 수행할 수 있습니다. 이를 통해 코드를 더 안전하고 유연하게 만들 수 있습니다.

아래는 프로퍼티 셋터/게터를 사용하여 코드를 리팩토링하는 간단한 예제입니다.

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;
console.log(c.radius); // 5

위의 예제에서는 _radius를 외부에서 직접 접근하는 것이 아니라, radius 프로퍼티를 통해 접근합니다. 이를 통해 추가적인 로직을 수행할 수 있습니다.

결론

객체 분해 할당과 프로퍼티 셋터/게터를 사용하여 코드를 리팩토링하면 코드의 가독성을 개선하고 중복을 줄일 수 있습니다. 이러한 기술을 적절히 활용하여 TypeScript 코드를 작성하면 유지보수성이 향상되고 코드의 품질을 향상시킬 수 있습니다.