[typescript] 객체 분해 할당과 프로퍼티 셋터/게터의 사용 사례와 예시 코드

이번 포스트에서는 TypeScript에서 객체 분해 할당(destructuring assignment)과 프로퍼티 셋터/게터(property setter/getter)의 사용 사례와 예시 코드를 살펴보겠습니다.

객체 분해 할당 (Destructuring Assignment)

객체 분해 할당은 객체의 프로퍼티를 해체하여 개별 변수에 할당하는 것을 말합니다. 이는 코드를 간결하게 만들어주고 가독성을 향상시키는데 도움이 됩니다.

// 기존 방식
const user = { name: 'Alice', age: 30 };
const name = user.name;
const age = user.age;

// 객체 분해 할당 사용
const { name, age } = user;

위의 예시에서 볼 수 있듯이, 객체 분해 할당을 사용하면 각각의 프로퍼티를 개별 변수에 쉽게 할당할 수 있습니다.

프로퍼티 셋터/게터 (Property 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;
    }
}

const myCircle = new Circle();
myCircle.radius = 5; // 프로퍼티 셋터 호출
console.log(myCircle.radius); // 프로퍼티 게터 호출

위의 예시에서 Circle 클래스의 radius 프로퍼티에 대한 셋터와 게터를 정의했습니다. 이를 통해 반지름이 음수가 되지 않도록 제약 조건을 추가할 수 있습니다.

결론

객체 분해 할당과 프로퍼티 셋터/게터는 TypeScript에서 코드를 더욱 간결하고 유연하게 작성할 수 있도록 도와줍니다. 이러한 기능들을 적절히 활용하여 코드의 가독성과 유지보수성을 향상시키는 것이 중요합니다.

더 많은 정보는 TypeScript 공식 문서를 참고하시기 바랍니다.

TypeScript 공식 문서