いや、本当に今更なんだけれど、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>
で、実行できる。
うーん、なるほど。
つまりタイトルでスマートとか書いたけど、思っていたスマート差はなかった…気がする。