[UPDATE: vedere @ risposta di Giovanni, ha più senso per spiegare perché un minifier js avrebbe fatto questo, e dovrebbe essere la risposta accettata]
come concetto generale, questo è quello di evitare l'errore programmatore . Se si modifica manualmente il codice e si imposta la variabile prima e seconda costante, è possibile digitare accidentalmente:
a == '40' || a = '13'
Oops! Abbiamo appena impostato a
su '13'
invece di confrontare. Mettendo la costante sulla sinistra, evitiamo questa possibilità:
'40' == a || '13' = a
un'eccezione, perché non si può mettere una stringa costante sulla mano sinistra di un'operazione di assegnazione.
Quindi, in alcune scuole di pensiero, è consigliabile mettere sempre la costante a sinistra quando si fa il confronto di uguaglianza con una costante. Sembra che la chiusura segua quella pratica.
Queste sono chiamate "condizioni yoda".
Nota che la mia preferenza personale è in realtà di mettere la costante sulla destra nella maggior parte dei casi, perché il codice tende a leggere meglio, quindi non credo che il compromesso sia abbastanza buono. Ma vedo la logica dietro le condizioni di yoda.
fonte
2012-02-13 06:54:40
Questo non spiega perché un compressore potrebbe farlo però. OT: hanno effettivamente eliminato il [thread sulle condizioni Yoda] (http://webcache.googleusercontent.com/search?q=cache:stackoverflow.com/questions/2349378/new-programming-jargon-you-coined+jargon+ coniata) ?! – user123444555621
Il compressore utilizza le migliori pratiche ovunque sia possibile, solo perché è possibile. (Offchance che qualcuno modifica la versione minificata forse?) –
Inoltre, non ero a conoscenza di quel thread sulle condizioni della yoda. Ho appena sentito questo descritto così prima. –