TypeScript 高级类型

这篇博客详细介绍了TypeScript的高级类型,包括交叉类型、联合类型、类型别名和字面量类型。交叉类型允许合并多个类型,联合类型通过管道符号定义变量可接受的多种类型,类型别名则提供了类型的新名字,而字面量类型限制了变量必须的固定值。文章通过示例解释了如何使用这些高级类型,并展示了访问联合类型属性和方法的规则。
摘要由CSDN通过智能技术生成

前面我们学的数字类型、字符串类型、布尔类型、数组类型等等可能都是我们比较熟悉的数据类型,在其他计算机语言中也能经常见到。而本节我们要学习的是 TypeScript 中的高级类型,例如交叉类型、联合类型、类型别名、字面量类型等。

交叉类型

交叉类型是将多个类型合并为一个类型。可以通过 & 来实现合并,生成的新类型包含了所需的所有类型的特性。

举一个例子,假设 ABC 是三种不同的数据类型, 我们将三种类型合并为一个新的交叉类型 A & B & C ,那么使用这个交叉类型声明的对象可以同时包含 A、B、C 这个三种类型的成员。

一般交叉类型大多用于混入(mixins),或其他不适合典型面向对象模型的地方使用。在 JavaScript 里发生这种情况的场合很多。

示例:

我们来看一个简单的例子,下面 UserStudent 是我们定义好的两个接口:

interface User {
   
    id: number,
    username: string,
    age: number
}
  
interface Student{
   
    id: number,
    score: number[],
}
  
let cross: User & Student;  // 交叉类型

// 变量cross拥有两个接口中的所有属性
cross.id;
cross.username;
cross.age;
cross.
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值