[UPDATE: Zobacz @ Jana odpowiedzi, to ma większy sens, aby dlaczego minifier js byłoby to zrobić, i powinny być zaakceptowane odpowiedź]
Zgodnie z ogólną koncepcją, jest to, aby uniknąć błędu programisty . Jeśli ręcznie modyfikujesz kod i umieszczasz zmienną pierwszą i stałą sekundę, możesz przypadkowo wpisać:
a == '40' || a = '13'
Ups! Ustawiamy tylko a
na '13'
zamiast porównywać. Przez wprowadzenie stałej po lewej stronie, możemy uniknąć tej możliwości:
'40' == a || '13' = a
rzuci wyjątek, ponieważ nie można umieścić stały ciąg po lewej stronie operacji przypisania.
Tak więc w niektórych szkołach myślenia najlepiej jest zawsze umieszczać stałą po lewej stronie podczas porównywania równości ze stałą. Wygląda na to, że po tej praktyce następuje zamknięcie.
Są to tak zwane "warunki yoda".
Proszę zauważyć, że moje osobiste preferencje polegają na tym, aby w większości przypadków po prostu wstawiać stałą po prawej stronie, ponieważ kod ma tendencję do lepszego czytania, więc nie sądzę, aby kompromis był wystarczająco dobry. Ale widzę logikę stojącą za warunkami yody.
To nie wyjaśnia, dlaczego kompresor by to zrobił. OT: Czy rzeczywiście usunęli [wątek na temat warunków Yoda] (http://webcache.googleusercontent.com/search?q=cache:stackoverflow.com/questions/2349378/new-programming-jargon-you-coined+jargon+ ukuty) ?! – user123444555621
Sprężarka wykorzystuje najlepsze praktyki, gdy tylko jest to możliwe, tylko dlatego, że może. (Offchance, że ktoś edytuje wersję minified może?) –
Również, nie byłem świadomy tego wątku o warunkach yoda. Właśnie słyszałam, jak to wcześniej opisano. –