打字稿 - 索引签名交叉问题

时间:2021-03-16 23:51:37

标签: javascript typescript typescript2.0 typescript1.8

我有以下类型:

type MyType = {
    ['x']?: string;
    ['y']?: number;
} & { [key: string]: string };

当我写这篇文章时:

const a: MyType = {
    'x': 'str',
    'y': 5
}

我收到一个错误(y 是一个数字,但需要一个字符串),这根据索引签名是有意义的。 但是当我写这个:

const b: MyType = {};
b['x'] = 'str2';
b['y'] = 6

它工作正常。 两者有什么区别?这甚至应该起作用吗?

0 个答案:

没有答案