【发布时间】:2021-07-07 20:04:28
【问题描述】:
不在这里寻找解决方案,只需要知道这是否是打字稿中的错误。就是这样。
这是 TypeScript 中的错误吗?我应该报告这个错误吗?据我了解,这应该有效,除非我在这里做错了什么,
interface Something {
key1: string;
key2: number;
key3: boolean;
}
const someObject: Something = {
key1: '123',
key2: 123,
key3: false
}
for (const key in someObject) {
console.log(someObject[key]); // TS error
}
注意:我不是在寻找解决方法,因为这对我有用。只是想知道是我做错了什么还是 TS 中确实存在错误。
for (const [key, value] of Object.entries(someObject)) {
console.log(key, value);
}
或
for (const key in values) {
console.log(key, values[key as keyof DirectDepositDTO]);
}
我知道key 的类型是string,但不应该是keyof Something 吗?
附:该问题被标记为重复,但我不是在这里寻求解决方案,我已经知道如何解决它。我只需要知道这是否是 TypeScript 中的错误。因为for (const key in someObject) { 意味着key 将是keyof Something。我不需要知道重新定义类型。
【问题讨论】:
标签: typescript