次のコードは 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();
}
}
for ループに追加のセミコロンを含む次の (正しくない) JavaScript を生成します。
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) がドロップされた場合にのみ、エラーが消えるようです。
これは予期された動作ですか、それともどこかで完全に明白なことを見逃しましたか?