为什么打字稿字符串和数字从不显示?

cle*_*cat 6 typescript

我正在研究 Typescript,但我有一些困惑。

type t = number & string // never
type t1 = number & boolean // never
type t2 = number & string[] // number & string[]
Run Code Online (Sandbox Code Playgroud)

为什么看起来不一样?

Gou*_*J.M 2

在 Typescipt 中,两个基元类型的交集&永远不会,因为变量不能同时是字符串和数字,但两个数组/对象的交集称为 as ,branded object 并且具有基元的一个数组/对象是有效类型,称为 as branded primitve,那么我们在哪里使用品牌原语呢?,参考下面的例子

type SomeUrl = string & {'this is a url': {}};

let x = <SomeUrl>'';
Run Code Online (Sandbox Code Playgroud)