【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 小时前
【2025 年最新版】Java JDK 安装与环境配置教程(附图文超详细,Windows+macOS 通用)
java·开发语言·windows·macos·jdk
二哈喇子!6 小时前
BOM模型
开发语言·前端·javascript·bom
二哈喇子!6 小时前
空指针异常
开发语言
强子感冒了6 小时前
Java网络编程学习笔记,从网络编程三要素到TCP/UDP协议
java·网络·学习
咚为6 小时前
Rust Print 终极指南:从底层原理到全场景实战
开发语言·后端·rust
%xiao Q6 小时前
GESP C++五级-202406
android·开发语言·c++
Psycho_MrZhang6 小时前
Neo4j Python SDK手册
开发语言·python·neo4j
Traced back6 小时前
# C# + SQL Server 实现自动清理功能的完整方案:按数量与按日期双模式
开发语言·c#
sin22016 小时前
MyBatis的执行流程
java·开发语言·mybatis
Quintus五等升6 小时前
深度学习④|分类任务—VGG13
人工智能·经验分享·深度学习·神经网络·学习·机器学习·分类