typescript-接口的基本使用(一)

什么是接口

接口是一种"规范" 。看清了啊,这里和java、php中的接口是有点区别 的啊。这里是"规范"。表示某一些参数需要符合某一种"规范"。

接口的声明:

Interface 接口名称 {

属性名:属性类型

}

场景:

记不记得我们以前考试的时候,都有一个"准考证号"。没有准考证号的人是不能进入考场的,监考老师在我们入场的时候,需要检查我们的准考证号,没有准考证号的人是不能进入考场的。

TypeScript 复制代码
// 考生的接口,考生必须有stuId的属性
interface IStu {
    stuId: string;
}
class Teacher {
    public checkStuId(stu: IStu): void {
        console.log("我的准考证是:", stu.stuId);
    }
}
class BoyStu {
    public name: string = "男生";
    public stuId: string = "123"; // 准考证号
}
class GirlStu {
    public name: string = "女生";
    public stuId: string = "456"; // 准考证号
}
class Other {
    public name: string = "其他人";
}

let boy: BoyStu = new BoyStu();
let girl: GirlStu = new GirlStu();
let other: Other = new Other();

let teacher: Teacher = new Teacher();

teacher.checkStuId(boy);
teacher.checkStuId(girl);
// teacher.checkStuId(other);

查看以上,可以看到other不能传递到"老师"的checkStuId的参数里,因为这个other没有stuId的属性。而boy和girl都有stuId属性,所以,他们可以传递到"老师"的checkStuId的方法中。

相关推荐
橘子编程33 分钟前
JavaScript与TypeScript终极指南
javascript·ubuntu·typescript
叫我一声阿雷吧1 小时前
JS 入门通关手册(45):浏览器渲染原理与重绘重排(性能优化核心,面试必考
javascript·前端面试·前端性能优化·浏览器渲染·浏览器渲染原理,重排重绘·reflow·repaint
大家的林语冰1 小时前
《前端周刊》尤大开源 Vite+ 全家桶,前端工业革命启动;尤大爆料 Void 云服务新产品,Vite 进军全栈开发;ECMA 源码映射规范......
前端·javascript·vue.js
数据知道2 小时前
claw-code 源码分析:从 TypeScript 心智到 Python/Rust——跨栈移植时类型、边界与错误模型怎么对齐?
python·ai·rust·typescript·claude code·claw code
jiayong232 小时前
第 8 课:开始引入组合式函数
前端·javascript·学习
天若有情6732 小时前
【C++原创开源】formort.h:一行头文件,实现比JS模板字符串更爽的链式拼接+响应式变量
开发语言·javascript·c++·git·github·开源项目·模版字符串
zh_xuan3 小时前
Android Hilt实现依赖注入
android·hilt
yuki_uix3 小时前
重排、重绘与合成——浏览器渲染性能的底层逻辑
前端·javascript·面试
freshman_y3 小时前
Qtcreator怎么新建安卓项目?编写一个五子棋游戏APP?
android·qt
止观止3 小时前
拥抱 ESNext:从 TC39 提案到生产环境中的现代 JS
开发语言·javascript·ecmascript·esnext