1

次のコードは 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) がドロップされた場合にのみ、エラーが消えるようです。

これは予期された動作ですか、それともどこかで完全に明白なことを見逃しましたか?

4

1 に答える 1