| gets evaluated to either 1 or 0. 1 if either, or both are true, 0 if neither are true.
It does not return the value that was evaluated. You set that up in the conditionals "?", and ":".
So there's multiple parts.
statement ?value if true :else
The or as a statment:
No its not js, it's the dummied down version of parts of js.