我正在研究 Typescript,但我有一些困惑。
type t = number & string // never
type t1 = number & boolean // never
type t2 = number & string[] // number & string[]
Run Code Online (Sandbox Code Playgroud)
为什么看起来不一样?
在 Typescipt 中,两个基元类型的交集&永远不会,因为变量不能同时是字符串和数字,但两个数组/对象的交集称为 as ,branded object
并且具有基元的一个数组/对象是有效类型,称为 as branded primitve,那么我们在哪里使用品牌原语呢?,参考下面的例子
type SomeUrl = string & {'this is a url': {}};
let x = <SomeUrl>'';
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
94 次 |
| 最近记录: |