Ts_03接口和高级类型

这篇博客探讨了TypeScript中的接口和高级类型。接口用于描述对象的结构,包括可选属性、只读属性和任意属性。文章还介绍了如何使用接口描述函数以及接口合并的概念。在高级类型部分,讲解了联合类型、交叉类型、类型别名以及类型推导和类型断言,帮助读者理解如何在TypeScript中处理复杂类型和进行类型操作。
摘要由CSDN通过智能技术生成

接口和高级类型

接口

接口定义

TypeScript 的核心之一就是对值(数据)所具有的结构进行类型检查,除了基本标注,针对对象类型的数据,还可以通过 Interface (接口),来进行标注。

接口:对复杂的对象类型进行标注的一种方式,或者给其它代码定义一种契约(比如:类)
接口的基础语法定义结构特别简单

interface Point {
   
    x: number;
y: number; }

上面的代码定义了一个类型,该类型包含两个属性,一个 number 类型的 x 和一个 number 类型的 y,接口中多个属性之间可以使用 逗号 或者 分号 进行分隔
我们可以通过这个接口来给一个数据进行类型标注

let p1: Point = {
   
    x: 100,
y: 100 };

注意:接口是一种 类型 ,不能作为 值 使用

interface Point {
   
    x: number;
y: number; }
let p1 = Point; //错误
//当然,接口的定义规则远远不止这些

可选属性

接口也可以定义可选的属性,通过 ? 来进行标注

interface Point {
   
    x: number;
y: number;
    color?: string;
    //其中的 color? 表示该属性是可选的
}

只读属性

我们还可以通过 readonly 来标注属性为只读

interface Point {
   
    readonly x: number;
    readonly y: number;
}
//当我们标注了一个属性为只读,那么该属性除了初始化以外,是不能被再次赋值的

任意属性

有的时候,我们希望给一个接口添加任意属性,可以通过索引类型来实现
数字类型索引

interface Point {
   
    x: number;
y: number;
    [prop: number]: 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值