いや、本当に今更なんだけれど、JavaScriptの復習をしていて、「即時関数」の便利さ、スマートさに気が付いた。

即時関数を使ってみた

今まで初回実行 & 使い回す場合は

const consoleHello = () => {
    console.log("hello")
}
consoleHello()

のように、書いていた。

が、即時関数を使えば、

const consoleHello = (() => {
    console.log("hello")
})()

のように書くことができる。

つまりこれで初回実行 & 関数としての使い回しが可能なのである。

なんで、いままで使ってこなかったのか。

使い回せない

と思ったけど、使い回せなかった。

まあ、即時って言ってるし…

つまりこういう使い方じゃない。

使い回すことはできなかったけど、中に関数を書くことはできた。

const consoleHello = (() => {
    console.log("hello")
    return {
        consoleGoodbye: () => {
            console.log('goodbye')
        }
    }
})()

こんな感じで関数を書いて、


<button onclick="consoleHello.consoleGoodbye()">JavaScriptを実行する</button>

で、実行できる。

うーん、なるほど。

つまりタイトルでスマートとか書いたけど、思っていたスマート差はなかった…気がする。