4

以下は任意のブール変数に適用されますが、指定されたチェックボックスのチェックを逆にする小さな関数を JavaScript で書いていて、退屈になり、それをどれだけ凝縮できるか疑問に思いました。

開始:

checkbox = document.getElementById('checkbox');
checkbox.checked = (checkbox.checked ? false : true);

その後に移動しました

checkbox = document.getElementById('checkbox');
checkbox.checked = !(checkbox.checked);

その後

document.getElementById('checkbox').checked ^= 1;

次のような論理単項アプローチを理解できませんでした

!(document.getElementById('checkbox').checked);

しかし、私は -- は動作しますが、++ は動作しません (abs val?)

document.getElementById('checkbox').checked--;

また、次のように、js (またはその他の言語) が方程式の左側の変数への暗黙的な参照をサポートしているかどうかもわかりません。

document.getElementById('checkbox').checked = !(left.side);

通常、同じことを行う方法は 1000 通りあります。他に適切な方法はありますか? なんらかの理由で(または言語間で最も互換性のある)「最良の」アプローチはありますか?

4

1 に答える 1