在条件中未检查密封对象属性的原因是什么?
例如:
// Create a sealed object type
const o = {
Foo: 'Foo',
};
// Access a non-existent property
// Reports an Error
const fooz = o.Fooz;
// Conditional with non-existent property
// Does not report an error
if (o.Fooz === undefined) {}
只是澄清 - 这是Flow sealed object
答案 0 :(得分:0)
我将此问题发布为Flow issue。我收到了回复:
不存在不是条件表达式中的错误。见 来自the source的评论。
源评论内容如下:
条件表达式像表达式一样被检查,除了 即使在此类财产时,也暂时允许财产访问 不存在。这适用于常见的JavaScript测试习惯 在使用该财产之前存在财产。