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()
があるのね。
でも「使うな」って書いてある。