JavaScript Variable fallback

Bitte kann mir jemand erklären, was diese Codezeile macht:

var list  = calls[ev] || (calls[ev] = {});

Meine beste Vermutung:

Er die Einstellung der variable "Liste" mit dem Wert des calls.xxx, wo xxx ist eine variable, ev. Wenn Anrufe[ev] nicht existiert, dann erstellen Sie es als ein leeres Objekt und Zuordnung das leere Objekt "Liste". Ist das richtig?

Warum sind die Klammern, die verwendet wird? Wo finde ich mehr info über die Verwendung || bei der Einstellung von Variablen und die Verwendung von Klammern in diesem Kontext? Danke!

  • Die Klammern sind nur um das Recht der Auswertung des Ausdrucks, weil || hat eine höhere Priorität als der Zuweisungsoperator =. Ohne Klammer, es wurde ausgewertet, wie var list = (calls[ev] || calls[ev]) = {}; und würde zu einem Fehler führen. MDN JavaScript Referenz ist ziemlich umfassend.
  • mögliche Duplikate von Was macht der | | - operator zu tun?
InformationsquelleAutor thugsb | 2012-03-06
Schreibe einen Kommentar