서론
TypeScript를 사용하다 보면 때로는 코드를 더 가독성 있게 만들고 싶을 때가 있습니다. 이를 위해 객체 분해 할당(destructuring assignment)과 프로퍼티 셋터/게터(property setters/getters)를 활용할 수 있습니다. 이번 포스트에서는 어떻게 객체 분해 할당과 프로퍼티 셋터/게터를 사용하여 TypeScript 코드의 가독성을 향상시킬 수 있는지 살펴보겠습니다.
객체 분해 할당(Object Destructuring)
객체 분해 할당은 객체에서 여러 개의 프로퍼티를 추출하여 변수로 할당하는 것을 말합니다.
예를 들어, 아래와 같은 코드가 있다고 가정해봅시다.
const employee = {
name: 'John Doe',
age: 30,
role: 'Developer'
};
const name = employee.name;
const age = employee.age;
const role = employee.role;
console.log(name, age, role);
위 코드는 employee
객체의 각 프로퍼티를 개별 변수에 할당하는데, 이를 객체 분해 할당을 통해 간결하게 표현할 수 있습니다.
const { name, age, role } = employee;
console.log(name, age, role);
이렇게 하면 프로퍼티를 개별 변수에 할당하는 과정이 생략되어 가독성이 향상됩니다.
프로퍼티 셋터/게터(Property Setters/Getters)
프로퍼티 셋터/게터를 사용하면 프로퍼티에 값을 설정하거나 가져올 때 추가 로직을 수행할 수 있습니다. 이를 통해 코드의 가독성을 높일 수 있습니다.
예를 들어, 다음과 같이 클래스가 있다고 가정해봅시다.
class Circle {
private _radius: number;
constructor(radius: number) {
this._radius = radius;
}
get radius(): number {
return this._radius;
}
set radius(value: number) {
if (value < 0) {
throw new Error('Radius cannot be negative');
}
this._radius = value;
}
}
위 코드에서 Circle
클래스는 _radius
프로퍼티에 대해 셋터와 게터를 정의하고 있습니다. 이를 통해 반지름 값에 음수가 들어오지 않도록 하는 등의 추가 로직을 수행할 수 있습니다.
이러한 방식으로 프로퍼티 셋터/게터를 활용하면 코드의 의도를 명확히 전달할 수 있고, 코드의 안정성을 높일 수 있습니다.
결론
이번 포스트에서는 TypeScript에서 객체 분해 할당과 프로퍼티 셋터/게터를 활용하여 코드의 가독성을 높이는 방법에 대해 알아보았습니다. 이러한 기법을 사용하면 더욱 명확하고 유지보수가 쉬운 코드를 작성할 수 있습니다.
더 많은 정보를 원하시거나 심층적인 내용을 공부하고 싶으시다면 TypeScript 공식 문서를 참고하시기 바랍니다.