[英]TypeScript: how to make a property conditional from an existing type?
所以假设我有
type Link = {
text: string;
link: string;
}
interface BigLink extends Link {
some: number;
something: string;
else: string;
}
但我有一个共享所有这些属性的变量,除了链接属性可以是可选的。 我不想创建一个全新的类型只是为了将一个字段更改为link?: string
。 有没有办法做类似的事情
type OptionalBigLink = BigLink & { link?: string }
这样我就可以覆盖链接字段并使其成为可选。 ^ 当我不传入链接属性时,上面的代码仍然会抛出错误。
您可以使用Omit
从BigLink
中删除该属性,然后进行交集。
type OptionalBigLink = Omit<BigLink, "link"> & { link?: string }
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.