This was already answered here:
Is there a good reason to not use bit operators instead of parseInt?
Short version: it's different than ?? or || because it also truncates.
??
||