IT戦記

プログラミング、起業などについて書いているプログラマーのブログです😚

(function(){})() と function(){}()

自分用メモ

// JavaScript でクロージャを書くときこう書く事が多い
(function() {})()
// 何故なら
// function() {}()
// と書くと
// function() {} が式ではなく、文として解釈されてしまうからだ。
// 文として解釈されないためには、文の途中(最初以外)に function と書いてやる必要がある
// なので、まず開きカッコを書いてやる。
(
// の後に
function() {}
// と書いてやると function は式になる
)
// 正確には、カッコの対は The Grouping Operator という演算子である。
// カッコ以外にも
var a = 
// のように代入演算子のあとでもいい
function() {}
// つまり、以下のような記述も可能である。
var b = function() {} ()
// また、以下のような記述も可能である。
var obj = { a: function() {} () }
// というわけで、以下の method プロパティは関数ではないので注意すること
var obj = { method: function() {} () }