Dlaczego te 2 warunkowe różne:Czym różnią się te warianty?
Nieprawidłowe:
if (myObj !== null && typeof myObj !== "undefined")
Z tego powodu, należy sprawdzić typeof() pierwsza:
Poprawnie:
if (typeof myObj !== "undefined" && myObj !== null)
Wyciągnąłem ten z witryny w3schools. Według w3schools musisz najpierw przetestować typeof(), dlaczego miałoby to znaczenie. Warunki wyglądają tak samo
Jest to doskonały przykład, dlaczego informacje w3schools powinny być pobierane z przymrużeniem oka. – Pointy
To nie to samo, ponieważ operator && jest zwarty: drugi warunek nie jest oceniany, gdy pierwszy jest fałszywy. – raina77ow
Bo jeśli 'myObj' nie jest w ogóle zdefiniowany, dostaniesz błąd, jeśli najpierw nie sprawdzisz go za pomocą typeof. – adeneo