美文网首页
交叉类型

交叉类型

作者: 0说 | 来源:发表于2024-02-14 10:50 被阅读0次
// 交叉类型 & 
interface OneType {
  age: number
}
interface TwoType {
  name: string
}

type ThreeType = OneType & TwoType
// 使用交叉类型后,新的类型 ThreeType就同时具备了OneType 和 TwoType 的所有属性类型
let obj: ThreeType = {
  age: 15,
  name: 'james'
}
console.log(obj)

// 交叉类型(&)和接口继承(extends)的对比:

// 相同点:都可以实现对象类型的组合。
// 不同点:两种方式实现类型组合时,对于同名属性之间,处理类型冲突的方式不同
interface Ttype {
  fn(f: number): void
}
interface Ytype {
  fn(f: string): void
}
interface Stype extends Ttype {  //报错:接口“Stype”错误扩展接口“Ttype”。 属性“fn”的类型不兼容
  fn(f: string): void
}

type Btype = Ttype & Ytype // 不会报错 这里的整合相同属性参数 Btype = { fn(f: string | number): void }
const aObj:Btype = {
  fn(f) {
    console.log(f)
  }
}
aObj.fn('a')
aObj.fn(5)
aObj.fn(false) // 报错

相关文章

  • TypeScript 08 - 高级类型

    交叉类型 联合类型 类型保护 可以为 null 的类型 字符串字面量类型 1. 交叉类型 交叉类型是将多个类型合并...

  • 学习笔记 - 高级类型

    交叉类型 包含所有类型的特性。比如 Person & Serializable & Loggable 交叉类型同时...

  • 05-TypeScript-交叉类型-联合类型-类型保护

    交叉类型 格式: type1 & type2 & ... 交叉类型是将多个类型合并为一个类型 联合类型 格式: ...

  • TypeScript——高级类型(1)

    交叉类型(Intersection Types) 交叉类型是将多个类型合并为一个类型。 这让我们可以把现有的多种类...

  • 03|typescript高级用法

    一、交叉类型 交叉类型取所有类型的并集 二、联合类型 声明的类型不确定,是多个类型中的一个联合类型取所有类型的交集...

  • 泛型扩展

    基础必备知识 联合类型vs交叉类型 联合类型使用 “|”表示或的关系, 满足其中的一个情况即可。 交叉类型使用“&...

  • typescript高级类型

    交叉类型 交叉类型将多个类型合并为一个类型,相当于新类型具有这多个类型的所有特性,相当于是一种并的操作,通常在使用...

  • TS学习笔记(八):高级类型

    交叉类型 交叉类型将多个类型合并为一个类型,相当于新类型具有这多个类型的所有特性,相当于是一种并的操作,通常在使用...

  • TypeScript 高级类型

    一、交叉类型 交叉类型将多个类型合并为一个新的类型,新的具有所有参与合并的类型的特性,本质上是一种并的操作。形式如...

  • TypeScript05--高级类型(1)

    类型推论: TypeScript里,在有些没有明确指定出类型的地方,类型推论会绑定提供类型。 高级类型: 交叉类型...

网友评论

      本文标题:交叉类型

      本文链接:https://www.haomeiwen.com/subject/jiwsadtx.html