var isFilterOn = false;
$('#toggle-filter-btn').on('click', function(e){
e.preventDefault();
if(!isFilterOn){
isFilterOn = true;
}else{
isFilterOn = false;
}
})
Suppose I have an above piece of code.
Now, I was hoping to make the part where I set the isFilterOn to true or false, more concise.
So I tried this,
var isFilterOn = false;
$('#toggle-filter-btn').on('click', function(e){
e.preventDefault();
isFilterOn == false ? isFilterOn = true : isFilterOn = false;
})
But I am suspecting there is a better way to do this ?
Just assign the result of inverting the truthyness:
$('#toggle-filter-btn').on('click', function(e){
e.preventDefault();
isFilterOn = !isFilterOn;
});
your code can be a bit clean in this way
var isFilterOn = false;
$('#toggle-filter-btn').on('click', function(e){
e.preventDefault();
// your way
isFilterOn == false ? isFilterOn = true : isFilterOn = false;
// little clean version
isFilterOn = isFilterOn?false:true;
// best option use revers boolean operator
isFilterOn = !isFilterOn
})