如何给对象添加属性
已知框架提供了User类型如下,现在我想扩展这个类型,添加一个属性,以方便后续其他地方使用。
interface User {
name: string
age: number
}
const user: User = {
name: 'hans',
age: 22,
location: 'shanghai'
// 这里将会报错
// 不能将类型“{ name: string; age: number; location: string; }”分配给类型“User”。
}
// 解决方案
type MyUser = User & { location: string };
const user: MyUser = {
name: "hans",
age: 22,
location: "shanghai",
};
如何给对象剔除一些属性
只知类型User如下,现在我想从这个类型中剔除一些属性,得到新的类型。
interface User {
name: string;
age: number;
location: string;
}
// 解决方案
type MyUser = Omit<User, "location">;