我在visual studio 2015中使用asp.net项目。我想使用typescript将我的代码从es6转换为es5。但有些es6功能不适用于打字稿。例如,es6类不起作用。
有效的es6代码:
class Greeter {
constructor(message) {
this.greeting = message;
}
greet() {
return "Hello, " + this.greeting;
}
}
但是此代码会生成错误“类型Greeter 上不存在属性问候语”。但是转发工作,我看到有效的es 5!
我做错了什么?也许linter错误?
答案 0 :(得分:0)
在使用greeting
之前,您需要先定义this.greeting
。
试试这个:
class Greeter {
greeting: string; <-- you are missing this
constructor(message: string) {
this.greeting = message;
}
greet() {
return "Hello, " + this.greeting;
}
}
默认情况下,即使出现错误,TypeScript也会发出JavaScript。您可以通过启用--noEmitOnError
编译器选项来关闭此功能。 source
阅读官方文档here以便更好地理解。
编译器选项here