I see where you're coming from.
Many languages support the ternary operator, where it would be:
foo = y ? x : z
Which "feels better" but I think that's because I learned ternaries first.
Some languages like Rust and Kotlin do support assignment of an if statement like
foo = if (y) { x } else { z }
And I think that's a good step, as it doesn't need to introduce new syntax, just allows assignment of "blocks"