ну да, для типизированных языков, конструкция сравнения с константами избыточна, но не смертельна, лишь бы логически верный результат был и ожидаемое поведение.
Но к примеру на JavaScript, можно просто завести переменную, не инициализировать ее и фактически будет три значения true, false, null поэтому для упрощения можно использовать сравнение с какой либо константой, отметая два других значения, например, != true.
X++:
var flagTest;
//..
flagTest=$("CheckBoxTest").selected;
//...
if(flagTest !=true) {
}
И еще в C# существует хитрый тип bool? - логический с null(bool + null), так вот такая рода конструкция, в C# просто не откомпилируется, потребует явного приведения типа
X++:
bool? test = null;
if (test)
{
}
тогда как
X++:
bool? test = null;
if (test == true)
{
}
не вызовет никаких нареканий, примечательно, что такое неявное преобразование работает насколько я понимаю только для типа bool?, например если во втором случае написать int, то ничего не прокатит