只是想学习TypeScript。
不确定为什么我仍然低于错误。
注意:我已尝试满足界面的所有要求
interface Greet {
greet(name?: Greet): string;
(val: string): string;
}
class Person implements Greet {
greet(name?: Greet): string {
return 'Hello ' + name;
}
obj(val: string):string {
return 'Hello';
};
}
TsFiles/OopsTest.ts(8,7): error TS2420: Class 'Person' incorrectly implements interface 'Greet'.
Type 'Person' provides no match for the signature '(val: string): string'
8:26:50 PM - Compilation complete. Watching for file changes.
答案 0 :(得分:1)
如果您正在尝试创建hybrid type,那么根据文档,实现应该类似于:
function getPerson(): Greet {
let person = <Greet>function(val: string) { return '' };
person.greet = function(name?: Greet) { return '' };
return person;
}
在界面中设置(val: string): string;
要求Greet
的实现是功能,而不是类。
答案 1 :(得分:0)
interface Greet {
greet(name?: Greet): string;
obj(val: string): string; // <<<=== `obj` missing
}