标签: typescript
我正在使用类型{}来标识TypeScript中的对象,但是它似乎几乎允许除null和undefined之外的任何内容:
{}
null
undefined
function foo(): {} { return "string"; }
上面的示例是有效的TypeScript,因此在使用{}时在TypeScript中声明什么类型?
答案 0 :(得分:3)
{}将与任何类型兼容(它没有必需的属性,索引或呼叫签名)。
如果您要返回的不是原语,则可以使用object:
object
function foo(): object { return "string"; // error now }
here被记录为object类型。另外,从PR引入object类型:
对象类型等于{}减去其他基本类型的可分配性,这意味着: 其他任何基本类型都不能分配给对象 任何非基本类型均可分配给对象 对象只能分配给{}和任何
对象类型等于{}减去其他基本类型的可分配性,这意味着: