当前位置: 首页 > 知识库问答 >
问题:

javascript - ts中元素隐式具有 "any" 类型,因为索引表达式的类型不为 "number"?

左丘照
2023-06-22
const funcName = 'random'
window[funcName]()

第二行提示

元素隐式具有 "any" 类型,因为索引表达式的类型不为 "number"

怎么解决这种提示问题,[]操作符既支持number,又支持string,要怎么设置?

共有1个答案

农诚
2023-06-22

断言 funcNamewindowkey ,应该可解:

const funcName = 'random' as keyof typeof window;
window[funcName]();

如果到执行那一步报错的话,再断言它是个函数就行了:

(window[funcName] as Function)();
 类似资料:
  • 问题内容: 为React项目尝试TypeScript时,我陷入了这个错误: 当我尝试过滤组件中的数组时出现 到目前为止,我看了文章“ TypeScript中的索引对象”(https://dev.to/kingdaro/indexing-objects-in- typescript-1cgi ),因为它存在类似的错误,但是我尝试将索引签名添加到类型,我仍然收到相同的错误。 我的组件代码: 问题答案:

  • 这里的 create 方法参数的类型理想状态下应该是 ParamsA | ParamsB,这里为什么会是 ParamsA & ParamsB 在线查看代码

  • 如果我以通常的方式声明一个类,我可以使用类名作为类型: 但是,如果我通过将类表达式分配给变量来声明一个类,我就不能将该名称用作类型: 建议使用不起作用,因为我想要的实例类型,而不是类本身的类型。 typescript操场示例 如何获取以第二种方式定义的类的实例类型? 我对以这种方式定义类感兴趣的原因是,我希望有一个接口来描述某些类将具有的静态方法,如此处的手册中所述(该部分中的第三个示例)。 下面

  • 我正在尝试使用nifi将CSV记录插入Postgres数据库。 示例csv文件: 当nifi场景运行时,它会给出以下错误 错误列“timenow”的类型为timestamp,没有时区,但表达式的类型为character variating 如果我使用正常的 没有错误值插入到表中。我必须更改nifi配置才能将其添加到表中吗? 我换了Nifi CSVReader- 编辑:在第一条注释之后,Nifi生成

  • 请考虑以下代码: 表达式、和是被丢弃的值表达式,根据C++标准草案N4659/[expr].12,我希望lvalue-to-rvalue将应用于这三种情况。对于情况(2),这将导致调用volatile复制构造函数()[expr]/12 [...]如果表达式在此可选转换后是prvalue,则应用临时物化转换([Conv.RVAL])。[注意:如果表达式是类类型的lvalue,则它必须有一个易失性的复

  • 在Spring Boot的一个项目中,Java8使用hibernate-spatial和PostgresDB 9.4 应用程序属性 (我也尝试了PostgisPG9Dialect) 我的实体有一个属性 如果我用空值保存就可以了,但是如果我放一个值 我有: 在我的数据库中,我可以看到列定义为 我要疯了...为什么它不起作用? 更新(仍然不起作用,我正在收集新信息) 1)我认为问题可能是数据库的创建。