Typescript使用扩展关联数组的泛型类型时出错

时间:2019-10-28 12:32:43

标签: typescript typescript-generics

如果我有此代码:

interface IAssociativeArray {
    [key: string]: any;
}

function Do<T extends IAssociativeArray>(p: T) {
    p.someProp = "someValue";
}

function Do2(p: IAssociativeArray) {
    p.someProp = "someValue";
}

Do失败,并显示以下错误: 类型'T'上不存在属性'someProp'.ts(2339)

但是Do2没有。为什么会这样?

PS。我使用Typescript 3.6.3,在3.5.1之前的版本中可以正常工作

1 个答案:

答案 0 :(得分:0)

这样的外观是为了避免不合理的缩小而设计引入的。 More details