【问题标题】:TypeScript generic type with unknownTypeScript 泛型类型未知
【发布时间】:2021-01-03 13:54:51
【问题描述】:

这句话是什么意思?

type O<T> = T | unknown[]

在什么情况下使用unknownO&lt;T&gt; 是什么意思?

【问题讨论】:

  • 这是generic typeunion。它说“该值将是我提供为T 的类型,或者是谁知道什么的数组”
  • unknown被赋值时,我知道它是泛型联合。
  • 那我不清楚你在问什么。
  • 示例const a: O&lt;string&gt; = [{}, "something"];
  • 谢谢,我在找一个例子。提到泛型类型T 并提供除此之外的将使用unknown[]

标签: typescript typescript-generics


【解决方案1】:

unknown 的完整描述。 https://www.typescriptlang.org/docs/handbook/release-notes/typescript-3-0.html#new-unknown-top-type

简而言之,任何东西都可以分配给unknown,但访问unknown 需要缩小类型。

您的示例中的O&lt;T&gt; 表示一些 T 或未知数数组。

let o: O<number> = 123;
o = [true, '123'];
if (typeof o === 'number') {
  const n: number = o;
}

【讨论】:

  • 谢谢,这正是我要找的。​​span>
猜你喜欢
  • 2019-05-30
  • 1970-01-01
  • 2020-09-22
  • 2014-09-19
  • 2020-11-11
  • 2019-09-17
  • 2020-01-05
  • 1970-01-01
  • 2022-12-03
相关资源
最近更新 更多