class 만들때 타입 지정하는 부분을 듣고 있습니다.
여기서 2번 문제를 풀 때
Q2. 파라미터를 포함하는 Word라는 이름의 클래스 생성
1. object 만들 때 new Word() 소괄호 안에 숫자 혹은 문자를 입력하면
2. 숫자는 전부 object 안의 num 속성 안에 array 형태로 저장되고
3. 문자는 전부 object 안의 str 속성 안에 array 형태로 저장되는 class
4. class 만들 때 넣을 수 있는 숫자와 문자 갯수는 일단 제한은 없음. 타입지정 필수
class Word {
num :number[]; str :string[];
constructor(...params :(string | number)[]) {
let nums :number[] = [];
let strs :string[] = [];
params.forEach(item => {
if (typeof item === 'string') {
strs.push(item);
} else {
nums.push(item);
}
})
this.num = nums;
this.str = strs;
}
}
let obj = new Word('kim', 22, 'Lee', 28);
console.log(obj);
Word라는 클래스에서 필드로 지정해둔 num과 str이라는 변수의 타입을 인터페이스 형식으로 지정해서 받는 방법은 없을까요?
하나하나 지정해주는게 아니라 인터페이스에 하나로 싹 다 묶어버리고 싶은데 방법이 없을까요?