【发布时间】:2018-07-09 00:50:07
【问题描述】:
我们可以为 es6 类实现接口的方式非常简单:
interface IDog {
bark(): void
}
class Dog implements IDog {
bark(): void {
}
}
问题是:如何对这个“类”实现相同的接口:
const Dog = function() {
}
Dog.prototype.bark = function() {
}
我尝试将 Dog 的类型定义为 IDog:const Dog: IDog。没用。
所以,我需要它来实现依赖反转,但我不知道如何使用 es5 类来做到这一点。我看到 Classical Inheritance 风格是 Javascript 中的“反模式”,所以我决定用旧的方式创建类,并且需要帮助实现 Typescript 接口。
【问题讨论】:
-
为什么不在编译时使用 typescript 类和目标 es5?顺便说一句,编译后每个接口/类型都会被删除,因此无法在运行时解析 arg 类型
标签: javascript typescript dependency-inversion