export type MyTuple = ["test", "othertest"];
type NotWorking = {
[K in keyof MyTuple]: { value: MyTuple[K]};
};
type NotWorkingLengthType = NotWorking["length"]; // { value: 2 }
type Working<T>= {
[P in keyof T]: { value: T[P] };
};
type MappedWorking = Working<MyTuple>;
type MappedWorkingLengthType = MappedWorking["length"]; // 2
Run Code Online (Sandbox Code Playgroud)
为什么在这种情况下它的行为有所不同?这让我很困惑。