记录遇到的奇怪的 typescript 语法

43 阅读1分钟
export type EventSignatures = {
    'banner.new'(bannerId: string): void;
}

解释:

在typescript中函数名可以是字符串,就像在javascript中对象的key使用字符串的形式表示,用以访问value。

在js中我们可以这样定义:

// 定义
banner = {
    new: (bannerId) => bannerId;
}
// 调用
banner['new'](bannerId);

上文中ts的'banner.new'等价于js的banner['new']