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]
相关推荐
不浪brown15 分钟前
开源!矢量建筑白模泛光特效以及全国77个大中城市的矢量shp数据获取!
前端·cesium
山有木兮木有枝_16 分钟前
JavaScript 数据类型与内存分配机制探究
前端
小小小小宇22 分钟前
前端 异步任务并发控制
前端
bysking36 分钟前
【27-vue3】vue3版本的"指令式弹窗"逻辑函数createModal-bysking
前端·vue.js
LuckySusu36 分钟前
【HTML篇】script`标签中的 defer 与 async:深入解析异步加载 JavaScript 的差异
前端·html
CAD老兵37 分钟前
在 TypeScript 中复用已有 Interface 的部分属性:完整指南
前端
一头小鹿39 分钟前
【JS】原型和原型链 | 笔记整理
javascript
龚思凯42 分钟前
Vue 3 中 watch 监听引用类型的深度解析与全面实践
前端·vue.js
于冬恋1 小时前
Web后端开发(请求、响应)
前端
red润1 小时前
封装hook,复刻掘金社区,暗黑白天主题切换功能
前端·javascript·vue.js