【发布时间】:2016-04-27 01:42:20
【问题描述】:
假设以下类型的代码(例如,使用 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 解释这实际上很好?
【问题讨论】:
-
您尝试应用的具体限制是什么?这实际上看起来不是非常安全的代码。
-
@PatrickRoberts 这是 javascript。类型安全在这里没有任何关系。
-
@PatrickRoberts - 目标是保持像扩展这样的实用函数尽可能通用,同时使 first 和 second 的类型尽可能强,例如{a: number, b: number} 和 {c: number, d: number}
标签: javascript node.js types flowtype