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



相关推荐
独自破碎E2 分钟前
JDK版本的区别
java·开发语言
谦宸、墨白14 分钟前
从零开始学C++:二叉树进阶
开发语言·数据结构·c++
建群新人小猿35 分钟前
陀螺匠企业助手—个人简历
android·大数据·开发语言·前端·数据库
子夜江寒35 分钟前
OpenCV 学习:图像拼接与答题卡识别的实现
python·opencv·学习·计算机视觉
wdfk_prog36 分钟前
[Linux]学习笔记系列 -- [drivers][base]platform
linux·笔记·学习
千金裘换酒1 小时前
栈和队列定义及常用语法 LeetCode
java·开发语言
be or not to be1 小时前
JavaScript 对象与原型
开发语言·javascript·ecmascript
孟无岐1 小时前
【Laya】Socket 使用指南
websocket·typescript·游戏引擎·游戏程序·laya
0x531 小时前
JAVA|智能无人机平台(二)
java·开发语言·无人机
嵌入小生0072 小时前
基于Linux系统下的C语言程序错误及常见内存问题调试方法教程(嵌入式-Linux-C语言)
linux·c语言·开发语言·嵌入式·小白·内存管理调试·程序错误调试