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



相关推荐
水云桐程序员14 小时前
C++可以写手机应用吗
开发语言·c++·智能手机
测试员周周15 小时前
【AI测试智能体】为什么传统测试方法对智能体失效?
开发语言·人工智能·python·功能测试·测试工具·单元测试·测试用例
RSTJ_162515 小时前
PYTHON+AI LLM DAY THREETY-NINE
开发语言·人工智能·python
赏金术士16 小时前
Kotlin 从入门到进阶 之函数模块(核心基础)(二)
android·开发语言·kotlin
HalvmånEver18 小时前
MySQL的索引
android·linux·数据库·学习·mysql
加号318 小时前
【Qt】 应用程序发布:依赖库拷贝与部署指南
开发语言·qt
金色光环18 小时前
【DSP学习】DSP28335 点亮LED
嵌入式硬件·学习·dsp开发
('-')18 小时前
八股复习2:Java Array list和Linked list
java·开发语言
我是发哥哈18 小时前
跨AI模型生成视频的五大维度对比:选型避坑指南
大数据·人工智能·学习·机器学习·chatgpt·音视频
小黄人软件18 小时前
C++读写编辑CSV文件示例源码 用于数据导入导出,比Excel好使
开发语言·c++·excel