假设以下类型的代码(例如使用lodash或明确地像这里):
function extend(base, overwrite) {
for (var key in overwrite)
base[key] = overwrite[key];
return base;
}
var first = extend({
a: 1
}, {
b: 2
});
var second = extend({
c: 3
}, {
d: 4
});
console.log(first.a + first.b + second.c + second.d);
我如何向Flowtype解释这实际上很好?
答案 0 :(得分:1)
尝试将其置于函数声明之上:
declare function extend<A, B>(a: A, b: B): A & B