Eu *_*unc 8 typescript typescript2.0
转到https://www.typescriptlang.org/play/index.html并粘贴:
let userTypes = {};
let keys = Object.keys[userTypes];
Run Code Online (Sandbox Code Playgroud)
收到错误:
error TS2538: Type '{}' cannot be used as an index type.
Run Code Online (Sandbox Code Playgroud)
为什么?
Object.keys返回一个属性数组.您不能使用对象索引数组; 您必须使用数字来表示从数组开始的偏移量.
作为一个等效的例子,你期望这段代码做什么?:
var a = [1, 2, 3, 4]
console.log(a[{}]);
Run Code Online (Sandbox Code Playgroud)
这是荒谬的.
编辑:在阅读OP的评论并再次查看代码之后,我意识到我的评估是错误的.当一个问题是,原来的代码试图索引keys功能使用对象文本,真正的问题是使用方括号,而不是括号.这将有效:
let keys = Object.keys(userTypes);
Run Code Online (Sandbox Code Playgroud)
它要求keys用userTypes替代指数的使用它.
| 归档时间: |
|
| 查看次数: |
20437 次 |
| 最近记录: |