声明合并

优质
小牛编辑
128浏览
2023-12-01

TS 玩的顺溜不顺溜,就看你的 d.ts 文件写的溜不溜。

在学如何书写声明文件之前,我们先来看看声明相关的一些东西。

接口合并

当我们多次使用 interface 定义的时候,会合并接口

这里报错的原因是,我们并没有完全的实现 A 接口。

错误提示告诉我们,还有一个 age 属性没有。

假如你使用的 2.1 版本的 ts,那么你可以用 keyof 关键字拿到 A 的所有属性值类型。

命名空间的合并

此时必须要导出,不导出哪怕合并了,外面也访问不到。

真相只有一个,如下图。

命名空间与其他的合并。

命名空间与类,实现内部类。

此时有一个有意思的小问题

你会发现实例化后的 label 并不能访问它的 id 属性。

而直接访问却可以。

so? 哪出了问题?