ts 字符串不能做索引异常提示 type because expression of type ‘string‘

Element implicitly has an 'any' type because expression of type 'string' can't be used to index type

例子

let a={
  b:"1",
  c:"1"
}
var b="b";
let c=a[b]

let c=a[b]就会爆这个错误,因为在编译器看来b是一个未知的东西,它不属于a下面的任何一个属性b或者c,所以我们需要告诉它。

把代码改成下面:

let a={
  b:"1",
  c:"1"
}
var b="b";
let c=a[b as keyof typeof a]
相关推荐
GDAL42 分钟前
HTML 中的 Canvas 样式设置全解
javascript
m0_528723811 小时前
HTML中,title和h1标签的区别是什么?
前端·html
Dark_programmer1 小时前
html - - - - - modal弹窗出现时,页面怎么能限制滚动
前端·html
GDAL1 小时前
HTML Canvas clip 深入全面讲解
前端·javascript·canvas
禾苗种树1 小时前
在 Vue 3 中使用 ECharts 制作多 Y 轴折线图时,若希望 **Y 轴颜色自动匹配折线颜色**且无需手动干预,可以通过以下步骤实现:
前端·vue.js·echarts
GISer_Jing1 小时前
Javascript排序算法(冒泡排序、快速排序、选择排序、堆排序、插入排序、希尔排序)详解
javascript·算法·排序算法
贵州数擎科技有限公司1 小时前
使用 Three.js 实现流光特效
前端·webgl
JustHappy1 小时前
「我们一起做组件库🌻」做个面包屑🥖,Vue的依赖注入实战💉(VersakitUI开发实录)
前端·javascript·github
拉不动的猪2 小时前
刷刷题16
前端·javascript·面试
kiramario2 小时前
【结束】JS如何不通过input的onInputFileChange使用本地mp4文件并播放,nextjs下放入public文件的视频用video标签无法打开
开发语言·javascript·音视频