keyof T在映射类型

时间:2017-03-12 21:22:28

标签: typescript typescript2.1

由于不兼容的类型,以下代码段在y的分配上失败:

function foo<T>() {
    let x: { [P in keyof T]: number }
    let y: { [k: string]: number } = x;
}

但是,文档说明:

  

T型密钥被认为是字符串的子类型。

如果这是真的,为什么分配失败?

keyof T分配string,并将{ [P in 'foo']: number }分配给{ [P in string]: number }也可以。

0 个答案:

没有答案