You can, in fact, make assignments in IF statements easily in most of the languages you listed. I'd never thought of using 'yoda conditionals' to prevent it, but it would work. If you wrap the assignment in ()s it is valid, this would happen if you are bracketting multi conditionals.
if ( (a == null) || (a < b) )
if ( (a = null) || (a < b) )
both valid, one of those does an assignment.