让我们假设我有以下内容
export interface Project {
id: number;
name: string;
description: string;
metaModel: { name: string, id: number };
createdAt: string;
lastEdited: string;
visibilityLevel: VisibilityLevel;
members: string[];
m0files: M0File[];
}
我这样扩展它
interface ProjectAndMembership extends Project{
owner: boolean;
}
如何将Project的对象/变量应用于新接口ProjectMembership,这样我只需要为所有者值提供一个布尔值?
答案 0 :(得分:1)
如何将Project的对象/变量应用于新接口ProjectMembership,这样我只需要为所有者值提供一个布尔值?
您至少有两个选择:
也许通过Object.assign
创建一个新对象:
let x:ProjectAndMembership = Object.assign({}, {owner: true}, theProject);
使用类型断言,只需将属性添加到现有对象中即可:
let x:ProjectAndMembership = theProject as ProjectAndMembership;
x.owner = true;
我倾向于#1。