【发布时间】:2021-03-01 20:29:56
【问题描述】:
type NumbersTuple = [number, number, number];
type WrapKey<T> = {
[K in keyof T]: { key: T[K] };
};
type WrappedNumbers1 = WrapKey<NumbersTuple>;
type WrappedNumbers2 = {
[K in keyof NumbersTuple]: { key: NumbersTuple[K] };
};
为什么WrappedNumbers1 和WrappedNumbers2 不相等?是因为类型是如何实例化的吗?我本来希望它们是一样的。
【问题讨论】:
-
看起来他们改变了类型参数的行为,检查这个 PR - github.com/microsoft/TypeScript/pull/26063。
标签: typescript tuples mapped-types