美文网首页
ts中的交叉类型和联合类型

ts中的交叉类型和联合类型

作者: nora_wang | 来源:发表于2020-05-30 17:31 被阅读0次

1.交叉类型
将多个类型合并成一个类型,该类型具有所有类型的特性(取他们类型的合集)

interface myInter1 {
    name:string;
    fun1():void
}
interface myInter2 {
    fun2():void
}

// 此时定义的jcType是myInter1和myInter2的交叉类型,其中必须包含这两个接口中定义的属性
let jcType :myInter1 & myInter2 = {
    name:'haha',
    fun1() {},
    fun2() {},
}

2.联合类型
相当于取他们类型的交集,可以给变量定义多个类型。

// 联合类型 (只需满足其中一个接口类型所定义的属性)
let lhType : myInter1 | myInter2={
    name:'',
    fun1(): void {}
}

class Dog1{
    constructor(public name: string) {}
    run(){
        console.log(this.name)
    }
}
class Dog2{
    constructor(public age: number) {}
    run(){
        console.log(this.age)
    }
}

// 如果变量类型是多个类的联和,那么
function f(num:number) {
    let lhType = num===1?new Dog1('rose'):new Dog2(3)
    // 此时lhType去调用类中的方法时,只能调用他们的相同属性名的值
    lhType.run()
}

相关文章

  • ts中的交叉类型和联合类型

    1.交叉类型将多个类型合并成一个类型,该类型具有所有类型的特性(取他们类型的合集) 2.联合类型相当于取他们类型的...

  • TS 联合类型和交叉类型

    联合类型 通过 | 将变量设置多种类型,赋值时可以根据设置的类型来赋值。举例说明: 联合基础类型 联合对象类型 可...

  • typeScript语法

    ts类型 ts联合类型使用或 ts定义任意类型any ts定义函数返回值的类型 ts中的类定义 interface接口

  • lesson 4 TS 2021-04-23

    课程标题 路白-TS实战 知识点 基础知识 enum 枚举类型 type interface 联合类型 | 交叉类...

  • 03|typescript高级用法

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

  • TypeScript 08 - 高级类型

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

  • 泛型扩展

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

  • TypeScript06(类型断言 | 联合类型 | 交叉类型)

    联合类型 函数使用联合类型 交叉类型 多种类型的集合,联合对象将具有所联合类型的所有成员 类型断言 语法:值 as...

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

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

  • TypeScript之联合类型和交叉类型

    这就是关于类型的组合,对类型进行逻辑运算或者说是对类型进行函数式编程。JS编程是一种编程,在JS的类型上进行编程就...

网友评论

      本文标题:ts中的交叉类型和联合类型

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