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