【TS】接口(Interface)学习

介绍

接口(Interface)是TypeScript中的一个重要概念,它允许你定义对象的结构,而不需要实现具体的逻辑。接口在编译时用于类型检查,确保对象具有特定的属性和方法。

接口的作用类似于抽象类,不同点在于接口中的所有方法和属性都是没有实值的,换句话说接口中的所有方法都是抽象方法。

基本用法

定义接口
javascript 复制代码
interface Person {
    name: string;
    age: number;
}
实现接口
javascript 复制代码
const person: Person = {
    name: "张三丰",
    age: 108
};
可选属性
javascript 复制代码
interface Person {

    name: string;

    // ?代表可选属性
    age?: number; 
}
只读属性
javascript 复制代码
interface Person {

    //readonly 只读属性
    readonly name: string;

    age: number;
}
扩展接口
java 复制代码
interface Person {
    name: string;
    age: number;
}

interface Man extends Person {
    sex: string;
}
索引签名
javascript 复制代码
interface StringArray {
    [index: number]: string;
}

let myArray: StringArray;
myArray = ["张翠山", "张无忌"];

实践

  • 使用接口来定义API的形状:这样可以确保API的一致性和可预测性。
  • 在团队开发中,接口可以作为契约:明确对象的结构,减少沟通成本。、
  • 接口可以提高代码的可读性和可维护性:通过接口,你可以清晰地看到对象的结构和预期的行为。



相关推荐
爆炒的番茄2 分钟前
初识C++(二)
开发语言·c++·算法
probably1214 分钟前
软件测试中的白盒测试方法,包括其定义、主要技术、应用场景及优缺点。
笔记·学习
黄卷青灯775 分钟前
c++ vector类 和 eigen库 处理向量的区别 列出代码举例
开发语言·c++·vector·eigen
闲人编程9 分钟前
Python 实现 LM 算法(Levenberg-Marquardt)
开发语言·python·算法·优化·梯度下降·拟合·lm
cwywsx11 分钟前
C++:二叉搜索树
开发语言·c++·算法
神奇夜光杯19 分钟前
Python酷库之旅-第三方库Pandas(117)
开发语言·人工智能·python·excel·pandas·标准库及第三方库·学习与成长
爱睡懒觉的焦糖玛奇朵28 分钟前
【人工智能学习之人脸识别】
人工智能·学习
小丑西瓜66630 分钟前
c++智能指针
开发语言·c++·学习·基础语法·智能指针
爱是小小的癌37 分钟前
C语言自定义类型-联合与枚举
c语言·开发语言
hac132243 分钟前
HashMap线程不安全|Hashtable|ConcurrentHashMap
java·开发语言·安全