0
最初のインターフェースが継承する別のインターフェースのインスタンスを生成することで、1つのインターフェースのプロパティーを設定できますか?継承を持つ別のインターフェースのプロパティーを設定する
たとえば、ランダムインスタンスを生成する関数を持つuser
インターフェイスがあります。
import * as Chance from 'chance';
export interface User {
username: string;
firstName: string;
lastName: string;
password: string;
email: string;
gender: string;
streetAddress: string;
city: string;
state: string;
zipCode: string;
country: string;
phoneNumber: string;
}
export function generateRandomUser(): User {
let randomuser: User;
randomuser.firstName = Chance.first();
randomuser.lastName = Chance.last();
randomuser.username = randomuser.firstName + randomuser.lastName;
randomuser.password = 'password';
return randomuser;
}
は、それから私は別の機能
import { User, generateRandomUser } from '../user';
import * as Chance from 'chance';
interface ProUser extends User {
favoriteColor: string;
}
function generateRandomProUser(): ProUser {
let generalUser = generateRandomUser();
let randomProUser: ProUser;
// simple way to set the props from generalUser to randomProUser??
randomProUser.favoriteColor = Chance.color();
return randomProUser;
}
は、これらのプロパティを超えるマッピングする簡単な方法があります発生していた、のは、それはProUser
だとしましょう、より具体的なユーザーのために別のインタフェースを持っていますか?私はこのマッピング機能を使用することができる他のユーザータイプも持っています。
パーフェクト:
別のオプションはObject.assignを使用することです。私は何かがあることを知っていましたが、どこを見るかわかりませんでした。ありがとう。 –