当我在Typescript中有一个显式扩展Object的类时,尝试调用该类的对象方法失败:
class Example extends Object {
constructor() {
super();
}
public getHello() : string {
return "Hello";
}
}
let greeter = new Example();
alert(greeter.getHello());
Run Code Online (Sandbox Code Playgroud)
错误:greeter.getHello is not a function。这是为什么?如果我删除了extends-clause和该super()呼叫,那么它将突然起作用。
我的问题是代码是从自定义的JSweet版本自动生成的,而我们仅转换部分代码库。不应该转译的类层次结构中的类仅映射到Object,因为extends如果不进行大量更改JSweet便无法轻松删除它们。