Perchè non è un errore nel senso stretto del termine: le assegnazioni all'interno delle parentesi dell'if sono permesse!
In particolare, in molti linguaggi di programmazione, l'if valuta che l'espressione contenuta fra parentesi sia diversa da zero (false vale zero): quindi nel tuo caso stavi poneno due variabili uguali a zero e poi ne facevi l'or: 0 or 0 ovviamente dà zero, che corrisponde al false -> condizione mai verificata. Non so se questo ragionamento vale anche per javascript (magari qualcuno potrà confermare o smentire), comunque il meccanismo è probabilmente qualcosa di simile!
![]()

), comunque il meccanismo è probabilmente qualcosa di simile!
Rispondi quotando