TS,为什么下面这行注释放开后会报错?

作者站长头像
站长
· 阅读数 20
type B = [
    {
        test1: 1;
    },
    {
        test2: 2;
    }
];

type A = {
    [k in keyof B[0]]: B[0][k];
    // 为什么下面这行注释放开后会报错?
    // [k in keyof B[1]]: B[1][k];
};
回复
1个回答
avatar
test
2024-06-28
type B = [
    {
        test1: 1;
    },
    {
        test2: 2;
    }
];

type A = {
    [k in keyof B[0]]: B[0][k];
} & {
    [k in keyof B[1]]: B[1][k];
};

使用交叉类型将两个映射类型合并在一起

回复
likes
适合作为回答的
  • 经过验证的有效解决办法
  • 自己的经验指引,对解决问题有帮助
  • 遵循 Markdown 语法排版,代码语义正确
不该作为回答的
  • 询问内容细节或回复楼层
  • 与题目无关的内容
  • “赞”“顶”“同问”“看手册”“解决了没”等毫无意义的内容