[typescript] 객체 분해 할당과 프로퍼티 셋터/게터를 사용한 데이터 모델링 방법
  1. 객체 분해 할당
  2. 프로퍼티 셋터/게터를 사용한 데이터 모델링

1. 객체 분해 할당

객체 분해 할당(destructuring assignment)은 객체의 프로퍼티를 분해하여 여러 변수에 기록하는 편리한 방법입니다. TypeScript에서도 객체 분해 할당을 사용하여 변수를 초기화하거나 함수의 매개변수로 전달할 수 있습니다.

예시

let person = { name: "Jane", age: 30, city: "Seoul" };
let { name, age, city } = person;

console.log(name); // "Jane"
console.log(age); // 30
console.log(city); // "Seoul"

위 예시에서 person 객체를 분해하여 name, age, city 변수에 할당했습니다.

이와 같은 방법을 사용하면 데이터 모델링 시에 객체의 프로퍼티를 쉽게 추출하여 다양한 용도로 활용할 수 있습니다.


2. 프로퍼티 셋터/게터를 사용한 데이터 모델링

TypeScript에서는 클래스의 프로퍼티에 셋터(setter)와 게터(getter)를 정의하여 데이터 모델링을 쉽게 할 수 있습니다. 셋터와 게터는 일반적인 멤버 함수와는 다르게 프로퍼티에 접근할 때 메서드 호출처럼 사용됩니다.

예시

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;
    }
}

let c = new Circle();
c.radius = 10;
console.log(c.radius); // 10
c.radius = -5; // Error: Radius cannot be negative

위 예시에서 Circle 클래스를 정의하고 radius 프로퍼티에 셋터와 게터를 활용하여 값을 설정하고 가져오는 방법을 보여주었습니다.

프로퍼티 셋터/게터를 사용하면 데이터의 유효성을 검사하거나 값을 설정할 때 추가 로직을 쉽게 삽입할 수 있기 때문에 데이터 모델링 시에 유용하게 활용할 수 있습니다.


객체 분해 할당과 프로퍼티 셋터/게터는 TypeScript를 사용하여 데이터를 모델링하는 데에 매우 유용한 기능들입니다. 이러한 문법들을 익히고 활용함으로써 프로그래밍을 보다 효율적으로 할 수 있습니다.