【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的一致性和可预测性。
  • 在团队开发中,接口可以作为契约:明确对象的结构,减少沟通成本。、
  • 接口可以提高代码的可读性和可维护性:通过接口,你可以清晰地看到对象的结构和预期的行为。



相关推荐
峥嵘life4 分钟前
Android16 EDLA中GMS导入和更新
android·linux·学习
编程大师哥12 分钟前
如何在C++中使用Redis的事务功能?
开发语言·c++·redis
向前V19 分钟前
Flutter for OpenHarmony 二维码扫描App实战 - 关于实现
开发语言·javascript·flutter
li星野20 分钟前
OpenCV4X学习—图像平滑、几何变换
图像处理·学习·计算机视觉
世人万千丶21 分钟前
鸿蒙跨端框架 Flutter 学习 Day 3:性能进阶——Iterable 延迟加载与计算流的智慧
学习·flutter·ui·华为·harmonyos·鸿蒙·鸿蒙系统
钟离墨笺32 分钟前
Go语言-->interfance{}赋值的陷阱
开发语言·后端·golang
逆境清醒39 分钟前
Python中的常量
开发语言·python·青少年编程
aini_lovee41 分钟前
基于MATLAB的DC-DC变换器设计与实现(Buck/Boost/Buck-Boost)
开发语言·matlab
奔跑吧 android42 分钟前
【ubuntu24.04】【安装jdk】
java·开发语言
Irene199143 分钟前
Vue3 中 PropType 的使用指南
typescript·proptype