寻求Facebook流程的一些帮助。
我有以下代码:
function getValues(obj? : Object) {
if (obj) {
return Object.keys(obj).map(key => {
return obj[key];
});
}
return [];
}
流版本0.37.0
出现以下错误:
65: return obj[key];
^^^^^^^^ access of computed property/element. Computed property/element cannot be accessed on possibly undefined value
65: return obj[key];
^^^ undefined
我在这里犯了错误,或者这段代码是否安全无效?
提前致谢!
答案 0 :(得分:1)
Flow对优化很悲观,它认为每个函数调用都可以修改obj
。至于修复方法,您可以使用const
binding
function getValues(obj?: Object) {
const o = obj
return o ?
Object.keys(o).map(key => o[key]) :
[]
}