Javascript 整个typescript界面的回退?
我知道我们可以在接口中使用Javascript 整个typescript界面的回退?,javascript,typescript,Javascript,Typescript,我知道我们可以在接口中使用?设置可选属性,但如何使整个接口回退到null或emtpy对象 interface MyType { abc: string def?: number } 我试过了 interface MyType { abc: string def?: number } | {} 但是现在运气好了。我发现最简单的方法是不污染超过必要的类型,并有一个后备方案,例如: var MyObject: MyType | {} | undefined; // The
?
设置可选属性,但如何使整个接口回退到null或emtpy对象
interface MyType {
abc: string
def?: number
}
我试过了
interface MyType {
abc: string
def?: number
} | {}
但是现在运气好了。我发现最简单的方法是不污染超过必要的类型,并有一个后备方案,例如:
var MyObject: MyType | {} | undefined;
// Then it can take
MyObject = {};
MyObject = undefined;
MyObject = {abc:"abc"}
MyObject = {abc:"abc", def:1}
我会发现最简单的方法是不超过必要的污染类型,并有一个后备方案,例如:
var MyObject: MyType | {} | undefined;
// Then it can take
MyObject = {};
MyObject = undefined;
MyObject = {abc:"abc"}
MyObject = {abc:"abc", def:1}
您可以使用分部类型
接口MyType{
abc:字符串
定义?:编号
}
常量obj:Partial={}
您可以使用分部类型
接口MyType{
abc:字符串
定义?:编号
}
常量obj:Partial={}
这在某种程度上解决了这个问题,但这样做的代价是增加了类型的复杂性。此外,partial不是一个通用的解决方案,它允许不应该允许的,例如{def:1}
。这在某种程度上解决了它,但这样做的代价是增加了类型的复杂性。此外,partial不是一个通用解决方案,它允许例如{def:1}
,这是不允许的。