Typescript 具有已删除属性的接口/类型
我尝试过创建许多不同的Typescript 具有已删除属性的接口/类型,typescript,types,interface,Typescript,Types,Interface,我尝试过创建许多不同的接口s和类型s,以不同的方式组合并集和交集,但都失败了 我有一个带有一些属性的接口: 接口A{ 名称:字符串; 性质:编号; //还有很多。。。 } 我想基于a创建一个新接口(或类型,我现在不关心),该接口已删除name,并添加了一些其他属性,结果是: 接口B{ 性质:编号; 年龄:人数; //A拥有的一切,除了名字 } 我将如何使用交叉/并集或其他类型脚本的可能性来实现这一点 我甚至尝试在A和另一个界面之间创建一个交集,其中name?:never删除该字段,但如何添加
接口
s和类型
s,以不同的方式组合并集和交集,但都失败了
我有一个带有一些属性的接口:
接口A{
名称:字符串;
性质:编号;
//还有很多。。。
}
我想基于a
创建一个新接口(或类型,我现在不关心),该接口已删除name
,并添加了一些其他属性,结果是:
接口B{
性质:编号;
年龄:人数;
//A拥有的一切,除了名字
}
我将如何使用交叉/并集或其他类型脚本的可能性来实现这一点
我甚至尝试在A
和另一个界面之间创建一个交集,其中name?:never
删除该字段,但如何添加其他属性?使用省略&{other properties}
使用省略&{other properties}
接口A{
interface A {
name: string;
property: number;
foo: string;
}
// Get rid of name property
type AWithoutName = Omit<A, "name">;
// Now use the type to get all of A without name
const foo: AWithoutName = { property: 2, foo: "hello" }
// extend this type to add more props without name
interface AddMoreToA extends AWithoutName {
bar: string;
}
// use in this way
const bar: AddMoreToA = { property: 2, foo: "hello", bar: "world" }
名称:字符串;
性质:编号;
foo:string;
}
//去掉name属性
键入AWithoutName=Omit;
//现在使用该类型获取所有不带名称的
const foo:AWithoutName={property:2,foo:“hello”}
//扩展此类型以添加更多没有名称的道具
接口AddMoreToA扩展了一个没有名称的AW{
酒吧:字符串;
}
//这样使用
const-bar:AddMoreToA={property:2,foo:“你好”,bar:“世界”}
接口A{
名称:字符串;
性质:编号;
foo:string;
}
//去掉name属性
键入AWithoutName=Omit;
//现在使用该类型获取所有不带名称的
const foo:AWithoutName={property:2,foo:“hello”}
//扩展此类型以添加更多没有名称的道具
接口AddMoreToA扩展了一个没有名称的AW{
酒吧:字符串;
}
//这样使用
const-bar:AddMoreToA={property:2,foo:“你好”,bar:“世界”}