TypeScript中用“ {}”标识的类型

时间:2018-12-23 09:57:47

标签: typescript

我正在使用类型{}来标识TypeScript中的对象,但是它似乎几乎允许除nullundefined之外的任何内容:

function foo(): {} {
  return "string";
}

上面的示例是有效的TypeScript,因此在使用{}时在TypeScript中声明什么类型?

1 个答案:

答案 0 :(得分:3)

{}将与任何类型兼容(它没有必需的属性,索引或呼叫签名)。

如果您要返回的不是原语,则可以使用object

function foo(): object {
    return "string"; // error now 
}

here被记录为object类型。另外,从PR引入object类型:

  

对象类型等于{}减去其他基本类型的可分配性,这意味着:

     
      
  1. 其他任何基本类型都不能分配给对象
  2.   
  3. 任何非基本类型均可分配给对象
  4.   
  5. 对象只能分配给{}和任何
  6.