5
转到https://www.typescriptlang.org/play/index.html和粘贴:类型不能用作索引类型
let userTypes = {};
let keys = Object.keys[userTypes];
收到错误:
error TS2538: Type '{}' cannot be used as an index type.
为什么?
转到https://www.typescriptlang.org/play/index.html和粘贴:类型不能用作索引类型
let userTypes = {};
let keys = Object.keys[userTypes];
收到错误:
error TS2538: Type '{}' cannot be used as an index type.
为什么?
Object.keys
返回属性数组。你不能使用一个对象来索引一个数组;您必须使用数字来表示从数组起始处的偏移量。
作为等价例子,你能指望这个代码做?:
var a = [1, 2, 3, 4]
console.log(a[{}]);
这是荒谬的。
编辑: 在阅读OP的评论并再次查看代码后,我意识到我的评估是错误的。虽然a问题是,原始代码试图使用对象字面量索引keys
函数,但真正的问题是使用方括号而不是括号。这将工作:
let keys = Object.keys(userTypes);
它要求keys
与userTypes
,而不是与它的索引。
我希望它返回undefined ...:D –
现在我看到了令人尴尬的错字...谢谢... –
应该是'Object.keys(userTypes)' –