[typescript] 객체 분해 할당과 프로퍼티 셋터/게터를 사용한 타입스크립트 코드의 모듈화와 재사용성
타입스크립트(TypeScript)는 객체 분해 할당(object destructuring)과 프로퍼티 셋터/게터(property setter/getter)를 활용하여 모듈화와 재사용성을 높일 수 있는 강력한 기능을 제공합니다. 이러한 기능을 적절히 활용하여 코드를 깔끔하고 유지보수하기 쉽게 구성할 수 있습니다.
객체 분해 할당(Object Destructuring)을 사용한 모듈화와 재사용성
객체 분해 할당은 객체에서 필요한 속성만 추출하여 사용할 수 있도록 해주는 기능입니다. 이를 활용하면 모듈화된 코드에서 필요한 속성들만을 쉽게 가져와 활용할 수 있습니다.
아래는 객체 분해 할당을 사용하여 모듈화된 코드의 예시입니다.
// 모듈화된 코드
export interface UserProfile {
name: string;
age: number;
email: string;
}
export function getUserProfile(): UserProfile {
// 사용자 정보를 어딘가에서 받아온다고 가정
const user = { name: 'John', age: 30, email: 'john@example.com' };
return user;
}
// 다른 파일에서 모듈화된 코드 사용
import { getUserProfile } from './userProfile';
const { name, age, email } = getUserProfile();
console.log(`Name: ${name}, Age: ${age}, Email: ${email}`);
위 예시에서, getUserProfile
함수가 유저 프로필 객체를 반환하고, 이를 객체 분해 할당을 통해 필요한 속성들만을 가져와 사용할 수 있습니다.
프로퍼티 셋터/게터(Property Setter/Getter)를 사용한 모듈화와 재사용성
프로퍼티 셋터/게터는 클래스의 속성에 대한 접근을 제어하고, 유효성을 검사하거나 추가적인 로직을 수행할 수 있도록 해줍니다. 이를 활용하여 모듈화된 코드에서 속성에 접근을 보다 안전하고 편리하게 제어할 수 있습니다.
아래는 프로퍼티 셋터/게터를 사용한 모듈화된 코드의 예시입니다.
// 모듈화된 코드
export class Product {
private _price: number;
get price(): number {
return this._price;
}
set price(value: number) {
if (value < 0) {
throw new Error('가격은 음수가 될 수 없습니다');
}
this._price = value;
}
}
// 다른 파일에서 모듈화된 코드 사용
import { Product } from './product';
const product = new Product();
product.price = 100; // setter 호출
console.log(product.price); // getter 호출
위 예시에서, Product
클래스의 price
속성에 대한 접근을 프로퍼티 셋터/게터를 통해 제어하고 있습니다.
결론
타입스크립트의 객체 분해 할당과 프로퍼티 셋터/게터를 적절히 활용하여 모듈화와 재사용성을 높이는 방법을 알아보았습니다. 이러한 기능들을 활용하여 코드를 더욱 깔끔하고 유연하게 구성할 수 있으며, 유지보수성을 향상시킬 수 있습니다.
참고 자료: