타입 변수 상속
타입 변수 상속
// Model 클래스
class Model<T> {
constructor(private _data:T[] = []) {}
add(item:T):void {
this._data.push(item);
}
}
// Model 초기화 팩토리 함수
function initializeModel<T extends Model<U>, U>(C: new () => T, items:U[]):T {
const c = new C();
items.forEach(item => c.add(item));
return c;
}
// 사용 예시
initializeModel<Model<string>, string>(Model, ['타입', '변수', '상속']);실습
참고
Last updated
