Почему используются сравнения «задом наперед», например, false == obj.prop.subProp?
Это называется Yoda-style.
 true/false переменной по ошибке случайно не присвоить чтобы.
Слева значение это будет в условии если, компиляции на стадии ошибку получишь ты.
Это защита от стрельбы себе в ногу при использовании убогих систем.
if(x=1) прокатит вместо if(x==1), а вот if(1=x) отвалится почти везде