やりたいこと
探せばいくらでも出てきそうな、変数などを利用して動的に関数を呼び出す方法です。
ソース
let funcName = 'hogehoge'
let arg = 'fugafuga'
Function("return this")()[funcName](arg);
function hogehoge(arg) {
console.log(arg);
}
解説
関数の実体であるfunction
オブジェクトは、スコープの一番外側であるグローバルオブジェクトのメンバとして登録されます。
従って、グローバルオブジェクトを取得してそいつにブラケット記法でアクセスすれば、動的に関数を呼び出すことができます。
参考にしたサイト
globalオブジェクトを取得する - Qiita
👻globalThis👻と🌏global🌏と🌝this🌝 - Qiita