以下は、理論上の JavaScript に関する質問です。以下が単一のステートメントに変換できるかどうか興味があります。
if(!window.foo){
window.foo = [];
}
window.foo.push('bar');
おそらく誰もがこのコードを以前に書いたことがあるでしょうが、1 行で実行できるでしょうか?
最初は、次のようなものがうまくいくと思いました:
(window.foo || window.foo = []).push('bar');
しかし、割り当てが無効なため、それは機能しません。次に、プッシュで何かをチェーンしようとしましたが、プッシュが配列を返さないため、うまくいきません。
これがプレーンな JavaScript で実行できるかどうかについて何か考えはありますか?
(ちなみに結果はそのはずですwindow.foo = ['bar']
)