[typescript] 프로퍼티 셋터/게터를 사용한 유효성 검사
유효성 검사(validation)는 소프트웨어 개발에서 중요한 요소 중 하나입니다. 특히 TypeScript에서는 프로퍼티 셋터(setter)와 게터(getter)를 사용하여 속성 값의 유효성을 검사할 수 있습니다. 이번 포스트에서는 이러한 방법들을 살펴보겠습니다.
프로퍼티 셋터/게터란?
프로퍼티 셋터(setter)와 게터(getter)는 객체의 속성 값에 접근하는 메커니즘을 제어할 수 있게 해줍니다. 셋터는 속성 값에 대한 새로운 값을 설정하고, 게터는 속성 값을 반환합니다. 이를 통해 값을 설정하거나 반환하기 전에 유효성 검사를 수행할 수 있습니다.
프로퍼티 셋터를 사용한 유효성 검사
다음은 TypeScript 클래스에서 프로퍼티 셋터를 사용하여 유효성을 검사하는 예시입니다.
class User {
private _age: number;
set age(value: number) {
if (value >= 0) {
this._age = value;
} else {
throw new Error('Invalid age');
}
}
get age(): number {
return this._age;
}
}
const user = new User();
user.age = 25; // 유효한 값
console.log(user.age); // 25
user.age = -5; // 유효하지 않은 값 - 에러 발생
위 예시에서 age
프로퍼티의 셋터를 통해 값이 설정되기 전에 유효성을 검사하고, 유효하지 않은 값이 들어오면 에러를 발생시킵니다.
프로퍼티 게터를 사용한 유효성 검사
프로퍼티 게터를 사용하여 유효성을 검사하는 예시도 살펴보겠습니다.
class Circle {
private _radius: number;
set radius(value: number) {
if (value >= 0) {
this._radius = value;
} else {
throw new Error('Invalid radius');
}
}
get radius(): number {
return this._radius;
}
get diameter(): number {
return this._radius * 2;
}
}
const circle = new Circle();
circle.radius = 5; // 유효한 값
console.log(circle.radius); // 5
console.log(circle.diameter); // 10
circle.radius = -2; // 유효하지 않은 값 - 에러 발생
위 예시에서는 radius
프로퍼티의 게터를 통해 값을 반환하기 전에 유효성을 검사하고, 유효하지 않은 값이 들어오면 에러를 발생시킵니다.
결론
프로퍼티 셋터와 게터를 사용하여 TypeScript 클래스의 속성 값에 유효성을 검사하는 것은 안전한 및 신뢰할 수 있는 코드를 작성하는 데 도움이 됩니다. 이러한 방법을 통해 예기치 않은 데이터 입력으로 인한 오류를 방지할 수 있습니다.
이상으로 프로퍼티 셋터/게터를 사용한 유효성 검사에 대해 알아보았습니다. 감사합니다!