[typescript] 다중 타입을 사용하여 클래스의 생성자 파라미터를 다루는 방법을 알려주세요.
이를 위해 다음의 단계를 따릅니다.
- 먼저,
Union Types(유니온 타입)
을 사용하여 생성자 파라미터에 여러 타입을 지정합니다. - 그 다음,
Type Guards(타입 가드)
를 활용하여 각 타입에 따라 다른 동작을 수행할 수 있습니다. - 마지막으로, 각 타입에 따른 동작을 구현한 클래스 내부 로직을 작성합니다.
아래는 간단한 예시입니다.
class User {
username: string;
age: number;
constructor(param: string | number) {
if (typeof param === 'string') {
this.username = param;
} else {
this.age = param;
}
}
}
const user1 = new User('Alice');
console.log(user1.username); // 출력: "Alice"
const user2 = new User(25);
console.log(user2.age); // 출력: 25
위 예시에서, User
클래스의 생성자 파라미터인 param
은 string
또는 number
타입을 가질 수 있습니다. typeof
연산자를 사용하여 파라미터의 타입을 확인하고, 그에 맞는 속성을 설정하거나 동작을 수행하고 있습니다.
이와 같이, TypeScript에서는 다중 타입을 사용하여 클래스의 생성자 파라미터를 다룰 수 있습니다. 이를 통해 더 유연하고 다양한 상황에 대응할 수 있는 클래스를 구현할 수 있습니다.