In general, this style (using `or` and `and`) is preferred over `?` when the values aren't going to be accidentally falsy. If they might be, like with your `0` example, then that's what `?` is for.