Gibt es irgendwo ein Dokumentation der Notation mit
in
? Und gibt es Unterschiede bei der Ausführung?
Am besten liest du dir mal den besagten Artikel durch:
Objektabfragen und Fallunterscheidungen in JavaScript
Dort wird if (objekt.unterobjekt) erklärt und was es tut: Nämlich das Objekt nach Boolean umwandeln.
sessionStorage wird nun als Object angenommen, deshalb ist diese Abfrage spezifischer als "eigenschaft" in objekt. Dabei findet wie gesagt kein Vergleich mit true statt.
Auf die in-Schreibweise kann man m.E. eigentlich immer verzichten, in den meisten Fällen auch auf typeof, wenn if (objekt.unterobjekt) ausreicht. Und das tut es, wenn man Objects oder Functions abfragen will.
Mathias