当我做这样的事情
interface MyInterface {
myStringProperty: string = 'str';
myNumberProperty?: number = 9;
myMethodProperty(): void
}
我有类似Error image
的错误基于本文(https://areknawo.com/typescript-introduction-pt2/)
我该如何解决?
答案 0 :(得分:3)
我不确定文章的作者是否至少在操场上尝试过自己的代码。官方3.7.2游乐场不支持(Playground Link)。
很明显,它不起作用,因为接口不是用于定义值,而是用于定义合同。它们可以帮助您(和编译器)进行类型检查,但它们不会添加或更改声明为实现的对象的字段。
答案 1 :(得分:2)
请先阅读官方文档:https://www.typescriptlang.org/docs/handbook/interfaces.html
如果需要默认值,则必须定义一个实现该接口的类:
interface ClockInterface {
currentTime: Date;
}
class Clock implements ClockInterface {
currentTime: Date = new Date();
constructor(h: number, m: number) { }
}