这是我的代码:
// @flow
var x = {a: 'foo'};
var key = Math.random() > 0.5 ? 'b' : 'a';
var value = x.hasOwnProperty(key) ? x[key] : 'default';
console.log(value);
仅当x[key]
确实是key
的属性时才会访问x
,否则使用默认值。但Flow并不喜欢这样,它说:
test-flow.js:5
5: var value = x.hasOwnProperty(key) ? x[key] : 'default';
^^^ property `b`. Property not found in
5: var value = x.hasOwnProperty(key) ? x[key] : 'default';
^ object literal
知道我做错了吗?
答案 0 :(得分:3)