javascript - 关于数组声明的打字稿
问题描述
在javascript中,我们可以声明一个关于键值类型的数组
let a = new Array
a['name'] = function(){}
但是在打字稿中,应该怎么做
type EventFunc = (...args: any[]) => any
interface CallbackBox {
[key:string]: EventFunc
}
class EventProxy {
private _callbacks:CallbackBox[] = []
addEventListener(ev: string, callback: EventFunc): EventProxy {
# **error type string but use any it can pass compile**
this._callbacks[ev] = this._callbacks[ev] || []
this._callbacks[ev].push(callback)
return this
}
}
解决方案
您要查找的内容称为打字稿中的索引签名。这是一篇关于它的文章。它如何帮助
推荐阅读
- javascript - 如何在 React 中使用媒体查询?
- python - 使用列表推导扩展堆栈
- jquery-mobile - Jquery Mobile:在没有 iframe 的情况下嵌入外部 HTML 文件
- r - 在闪亮的仪表板中的 menuItem 标题中设置空白
- javascript - 如何解决 firebase 函数控制台中的 "status":{"code":3,"message":"INVALID_ARGUMENT"} 错误?
- python - 无法使用 API 从 Amazon S3 获取文件
- javascript - 使用 javascript 构建 UL 仅创建 1 个 li 元素
- python - 访问表时 Django Sql ERROR 1064
- vue.js - 在 VueJS 中使用 mocha 和 chai 和 import synax
- angular - Angular jspdf导出PDF格式