抛开这个示例的强制性,是否有理由在函数中定义接口?除了一致性之外,还有其他原因不允许人们在函数中定义接口(而不是在文件级别或在共享接口/类型文件中作为导出)吗?
function Bar() {
interface Foo {
x: string;
y: number;
}
return { x: 'bar', y: 2 } as Foo;
}
答案 0 :(得分:0)
您可以像这样创建匿名类型声明:
function Bar(): { x: string; y: number; } {
return { x: 'bar', y: 2 };
}
这很有用,如果您知道要在之前返回的内容,则可以编写代码来做到这一点,但是也无需显式声明任何“ being”类型。这样,任何与类型不匹配的return
都会触发编译器错误。当您需要多个return
语句时,这特别有用。
如果您想将其称为“类型”,则需要在顶级范围内声明它。