首页 > 解决方案 > 关于数组声明的打字稿

问题描述

在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
    }  
}

标签: javascripttypescript

解决方案


您要查找的内容称为打字稿中的索引签名。是一篇关于它的文章。它如何帮助


推荐阅读