Javascriptなんかだと、DOMの状態をフラグで管理することが多いです。
そういうときに、ちょっとしたテクニックでコードをすっきりすることができます。
フラグの反転方法を例にやってみたいと思います。
##Ifによる条件分岐
ボタンが押され、処理を行った後にあるフラグを反転させる
var isClosed = 0;
$('#someButton').click(function(){
// ...... do something
if (isClosed === 1){
isClosed = 0;
}else if (isClosed === 0){
isClosed = 1;
}
});
##三項演算子を使ってみる
var isClosed = 0;
$('#someButton').click(function(){
// ...... do something
isClosed = (isClosed === 1) ? 0 : 1;
});
一行ですが、わかりにくくなった上に1とそれ以外で分岐してしまってます。
##1と0じゃなくて1と-1で管理する
var isClosed = 0;
$('#someButton').click(function(){
// ...... do something
isClosed *= -1
});
1と-1でフラグを持つようにすれば、-1を掛けることによってフラグの反転が可能です。
これはかなりわかりやすく、すっきりしています。
##ビット演算子を使う
var isClosed = 0;
$('#someButton').click(function(){
// ...... do something
isClosed = ~isClosed
});
「~」はNOT演算子ですので、0はビット反転して-1になります。
0と-1で管理する形になりますが、こういう方法もあります。