打字稿中的记录<字符串,任何>和记录<字符串,无结>有什么区别?



我在练习这个类型,然后遇到了这种问题,我读了一些帖子,仍然不明白为什么。

type A = (() => true) extends Record<string, any> ? true : false; // => true
type B = (() => true) extends Record<string, unknown> ? true : false; // false

anyunknown之间的基本区别在于我们将其分配给其他变量的方式。unknown是类型安全的,因此当您将具有unkown的变量分配给具有特定类型的其他变量时,这是不可能的。

我想你可以阅读更多关于这两个帖子的内容。

  1. ';未知';与';任何'
  2. https://mariusschulz.com/blog/the-unknown-type-in-typescript

最新更新