0

考虑以下情况:

class TestClass {
    val: number;
    construction(val: number) {
        this.val = val;
    }
    getAddedVal(num: number): number {
        return this.val + num;
    }
}

function testFun(obj:$ReadOnly<TestClass>) {
    console.log(obj.val);
    console.log(obj.getAddedVal(5));
}

这给出了一个错误

console.log(obj.getAddedVal(5));
                    ^ Cannot call `obj.getAddedVal` because property `getAddedVal` is missing in `TestClass` [1]. [prop-missing]

试流链接

大概是因为对象被标记readonly并且流无法破译该函数是否会修改该对象。有没有办法描述“这个函数不会修改this,它是不可变的”?

4

0 回答 0