Function オブジェクトの name プロパティで関数名を文字列として取得できることを知った。
Node.js の REPL で試してみるよ。
> function func1() {}
undefined
> func1.name
'func1'
ほんとだ。
アロー関数ではどうだろう?
> const func2 = () => {}
undefined
> func2.name
'func2'
ほうほう。代入先の変数名が返ってくるとな。
なら、これを別の変数に代入したら?
> func3 = func2 [Function: func2] > func3.name 'func2'
えー??
ところで、関数の名前を文字列で取得して何に使えるのかと思ったら eval() があるのね。
でも「使うな」って書いてある。