【发布时间】:2017-05-19 13:33:56
【问题描述】:
“Using Type Parameters in Generic Constraints”在 TypeScript 站点中显示了下面的示例代码。但是出现了以下错误:
'Type 'U[keyof U]' 不能分配给 type 'T[keyof U]'。输入“U” 不能分配给类型“T”。'
function copyFields<T extends U, U>(target: T, source: U): T {
for (let id in source) {
target[id] = source[id];
}
return target;
}
let x = { a: 1, b: 2, c: 3, d: 4 };
copyFields(x, { b: 10, d: 20 });
事实上,这不会在 Playground 中运行。代码有什么问题?
【问题讨论】:
-
令人惊讶的是文档中的代码无法编译。我建议在github.com/Microsoft/TypeScript-Handbook repo 中提交一个关于此的问题
-
我发了issue并得到了回复。
标签: javascript typescript