Ankündigung

Einklappen
Keine Ankündigung bisher.

Javascript: Verständnisproblem mit boolsche Abfrage

Einklappen

Neue Werbung 2019

Einklappen
X
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • Javascript: Verständnisproblem mit boolsche Abfrage

    Ich habe mir gerad mal ein Javascript Code angesehen. Hierbei bin ich auf eine Abfrage gestoßen, die ich nicht so ganz verstehe:

    Code:
      initialize(config) {
        var conf = this.conf || {};
        this.set('frame', new Frame(conf.frame));
      }
    Was bewirken hinter dem boolschen Oder die beiden geschwungenen Klammern?

    Arbeitet eigentlich die Funktion eigentlich korrekt? Weil Übergabeparameter lautet doch auf config.

  • #2
    Bei einem Ausdruck mit einem oder mehreren verketteten || wird der erste Wert zurückgegeben, der nicht FALSE entspricht. Bzw. der letzte Wert, wenn dies auf gar keinen zutrifft.

    false || 1 || 2 => 1
    0 || 1 || 2 || 3 => 1
    null || undefined || '' || NaN || false => false
    undefined || {} => {}

    In deinem Fall, wenn this.conf ein undefined, false, 0, null, '' oder NaN enthält, wird der Variable conf der Wert {} zugewiesen, ansonsten der Inhalt von this.conf.

    Siehe auch:

    https://en.wikipedia.org/wiki/Short-circuit_evaluation

    Kommentar


    • #3
      Ergänzend sei zum Verständnis vielleicht noch erwähnt, dass {} ein leeres Objekt instantiiert.
      Competence-Center -> Enjoy the Informatrix
      PHProcks!Einsteiger freundliche TutorialsPreComposed Packages

      Kommentar

      Lädt...
      X