Ts学习笔记-交叉类型

117 阅读1分钟
  • 交叉类型指的是,多个类型组成的一个新类型,使用符号&表示
  • 交叉类型A&B表示,任何一个类型必须同时属于A和B,才属于交叉类型A&B,即同时满足A和B的特征
  • 如果变量x同时是数值和字符串,这当然是不可能的,所以ts会认为x的实际类型是never
  • 交叉类型的主要用途是表示对象的合成
    let obj:
        {foo:string}&
        {bar:string}
    obj={
        foo:'hello'
        bar:'world'
        }
    
  • 交叉类型常常用来为对象类型添加新属性
    type A={foo:number}
    type B=A&{bar:number}