flow标记数字var上的不良属性访问,但不是数字属性

时间:2017-10-08 00:56:45

标签: javascript flowtype

在以下代码中,存在类型为Number的var,以及类型为Number的对象属性。尝试在两者上访问未知属性时,flow仅在var。

上报告错误
var obj: {
    x: number,
    get: () => number
} = {
    x: 5,
    get() {
        return this.x && this.x.a.b.c;
    }
};

module.exports = function () {
    var y = 6,
        z = y.a.b.c;

    return z + obj.get();
};

错误是

z = y.a.b.c;
      ^ property `a`. Property not found in
z = y.a.b.c;
    ^ Number

为什么不在对象属性上标记相同的访问权限?

更新:我刚注意到如果从obj中删除类型注释,则流程报告obj.get中的错误。不知道为什么会这样。

0 个答案:

没有答案