vielleicht hab ich auch was übersehen. Aber ich glaube das if (document.cookie) dient wirklich nur zur "Verschönerung". Manchmal verwirrend, diese Estethik.
normalerweise prüft man das Vorhandensein eines Objektes bevor man eine Objektmethode darauf anwendet. document.cookie liefert im Normalfall einen leeren String zurück, wenn kein Cookie vorhanden ist. Sicher sein kannst du dir jedoch darüber nicht. Eine schlecht programmierte (oder veraltete) Browserversion könnte da durchaus statt eines leeren Stringobjektes z.B. einen Wahrheitswert wie false zurückliefern und die Typenkonvertierung nicht sauber ausführen.
Hm, ja, du hast natürlich recht. Soweit habe ich nicht gedacht ( bin eben an neuere Browserversionen gewöhnt ). Ich muss ehrlich gestehen: Wenn jemand noch den IE 2.0 oder NS 2.x benutzt, ist mir das ***scheiss-egal***. Dann funktioniert es eben bei dem nicht! - Zudem benutzen die meisten Firmen (und die meisten Privatpersonen) IE oder NS der neueren Generationen ( so ab V4.x ).
Darauf angewandte Stringmethoden könnten unter Umständen für Fehler sorgen. Normalerweise gehört es - vorallem in JavaScript - zu einem guten Programmierstil vorher abzuprüfen, ob das gewünschte Objekt tatsächlich existiert.
dieses Argument ist vollkommen richtig.
Als Verschönerung würde ich es nicht bezeichnen, sondern eher als eine zusätzliche Sicherheit, ob das gewünschte Objekt tatsächlich existiert.
Stimmt.
Danke für die Berichtigung! - Bin wohl etwas faul, was schönes JavaScript programmieren anbelangt ;)
Viele Grüsse
Philipp