typescript - 从这里推断出的“数字”在哪里?
问题描述
我得到一个编译错误:
Element implicitly has an 'any' type because expression of type 'number' can't be used to index type '{ G: string; C: string; T: string; A: string; }'.
No index signature with a parameter of type 'number' was found on type '{ G: string; C: string; T: string; A: string; }'.(7053)
在Transcriptor.DNA_TO_RNA_NUCLEOTIDES[dnsNucleotide]
下面的代码中:
class Transcriptor {
static readonly DNA_TO_RNA_NUCLEOTIDES = { 'G': 'C', 'C': 'G', 'T': 'A', 'A': 'U' }
toRna(dnaStrand: string) {
let rnaStrand: string = ""
const dnaAsArray: string[] = Array.from(dnaStrand)
for (const dnsNucleotide in dnaAsArray) {
const rnaNucleotide: string = Transcriptor.DNA_TO_RNA_NUCLEOTIDES[dnsNucleotide]
rnaStrand += rnaNucleotide
}
return rnaStrand
}
}
export default Transcriptor
我会理解如果dnsNucleotide
可能发生any
这种情况,但在这种情况下它是 a string
,那么number
从哪里推断?
我知道我可以用static readonly DNA_TO_RNA_NUCLEOTIDES: { [key: string]: string} = {...}
解决方案
推荐阅读
- r - 绘制乘以因子 k 的拟合线性回归
- signal-processing - 具有实到实函数的逆离散傅里叶变换
- c# - ASP.NET MVC EF Core,视图中的属性访问,同时在不同模型的选定 ID 上
- google-maps - 如何在谷歌地图颤动中获取当前相机位置latlng
- android - 安卓wordpress自动fcm通知收不到
- javascript - JavaScript 动态加载脚本文件以创建一个对象,然后在该对象上运行 .init()
- wordpress - 自定义帖子类型的多个用户角色
- sql - 更改 SQL 中列的显示顺序
- next.js - Nextjs 和工作箱集成
- angular - 有什么方法可以在 Ag-Grid(Angular)中使用 API 调用中的 coldefs 字段值?