以下代码在 TypeScript 0.9 中编译
export class TestType { }
export class SomeClass
{
public set SomeProperty(v: TestType) { }
public get SomeProperty(): TestType {
for (var k = 0; k < 77; k++)
{
//whatever
}
return new TestType();
}
}
它生成以下(不正确的)JavaScript,其中在 for 循环中包含一个额外的分号;
define(["require", "exports"], function(require, exports) {
var TestType = (function () {
function TestType() {
}
return TestType;
})();
exports.TestType = TestType;
var SomeClass = (function () {
function SomeClass() {
}
Object.defineProperty(SomeClass.prototype, "SomeProperty", {
get: function () {
for (this.k = 0;; k < 77; k++) {
}
return new TestType();
},
set: function (v) {
},
enumerable: true,
configurable: true
});
return SomeClass;
})();
exports.SomeClass = SomeClass;
});
该问题出现在 Visual Studio 和在线游乐场中。仅当删除类型规范(:TestType)时,该错误似乎才消失。
这是预期的行为,还是我错过了某个完全明显的地方?