TypeScript不支持仅获取属性?

TypeScript不支持仅获取属性?,typescript,casting,immutability,assignment-operator,Typescript,Casting,Immutability,Assignment Operator,考虑以下代码 class A { private _f: string; get f(): string { return this._f; } } class B { f: string; static x(a: A): B { // I expect an error in next line because A does not have a setter for 'f' return a;

考虑以下代码

class A {
    private _f: string;
    get f(): string {
        return this._f;
    }
}
class B {
    f: string;    
    static x(a: A): B {
        // I expect an error in next line because A does not have a setter for 'f'
        return a;
    }
}
let a = new A();
// this line gives error, as expected
a.f = "safe";
let b = B.x(a);
// this will mutate object that I want to be immutable!
b.f = "ouch!";
为什么会发生这种情况?
(试用了TS 2.4和2.3)。

经过一番浏览后,发现它是