ほとんどの場合、Javascriptを使用すると、ステートメントの最後にセミコロンを省略することができます。しかし、興味深いことに、このケースではない:私たちはアノン機能の前の文の終わりに1つのセミコロンを入れない限り、自己匿名関数を実行する前にセミコロンを入れなければならないのはなぜですか?
var x = [5, 'asdf']
(function() {
window.alert("Yay!")
})()
これは、動作しません。
var x = [5, 'asdf'];
(function() {
window.alert("Yay!")
})()
これで完全に動作します。
ステートメントの最後に暗黙のセミコロンを明示的に適用するルールでは、この場合、この1つのセミコロンは暗黙指定されていないと規定されていますか?
おそらく、それは関数を使って配列を呼び出すと解釈され、その結果はパラメータなしで呼び出されます。あなたは* "はうまくいかない" *に展開できますか? – jonrsharpe
JavaScriptの自動セミコロン挿入の基本的な問題です。あなたの最初のコードサンプルは、JavaScriptがセミコロンを追加する場合ではないので、空白行がない場合と同じです。 – Pointy
@jonrsharpe「このスニペットを実行する」をクリックして、エラーを発出してください。 – gaazkam