Struppi: undefined als Wert einer Objekt-Eigenschaft erlaubt?

Beitrag lesen

Gleichzeitig verletzt ECMAScript die Regel, dass eine Methode immer einen bestimmten Typ zurückgibt, mit undefined ständig. Das DOM ist da konsequent, z.B. getAttribute gibt einen leeren String zurück, wenn kein solches Attribut existiert, weil der Rückgabewert eben immer ein String ist.

In welchem Browser?
javascript:alert(document.forms[0].getAttribute('name'));

gibt bei mir im Firefox null (hier im Forum)

In ECMAScript halte ich die Aufspaltung in undefined und null für ziemlich willkürlich und eben nur historisch erklärbar.

Das sehe ich auch so.

Wenn ein truthy-Wert benötigt wird, dann ist es egal, ob "", 0, false, undefined oder null hereinkommt. Wenn z.B. ein String erwartet wird, dann werden auch alle anderen Typen akzeptiert und entsprechend gecastet.

Und wie ich schon sagte, im Prinzip könnte man, um z.b. zwischen einem Leerstring oder der Zahl null zu unterschieden, auch false oder undefined benutzen.

Struppi.

0 56

undefined als Wert einer Objekt-Eigenschaft erlaubt?

LanX!
  • javascript
  1. 6
    molily
    1. 0
      LanX!
      1. 0
        Beat
        1. 0
          LanX!
          1. 0
            Beat
      2. 0
        Cheatah
        1. 0
          LanX!
          1. 0
            molily
            1. 0
              Struppi
              1. 0
                LanX!
            2. 0
              LanX!
              1. 0

                null als Rückgabewert in ECMAscript

                Tim Tepaße
                1. 0
                  LanX!
      3. 0
        molily
        1. 0
          LanX!
          1. 0
            molily
        2. 0
          Struppi
      4. 0
        EKKi
        1. 0
          LanX!
    2. 0
      Don P
      1. 0
        molily
        1. 0
          LanX!
        2. 0
          Struppi
          1. 0
            molily
            1. 0
              LanX!
              1. 0
                molily
                1. 0
                  LanX!
                2. 0
                  Struppi
            2. 0
              Struppi
              1. 0
                LanX!
                1. 0
                  Struppi
                  1. 0
                    LanX!
                  2. 0
                    LanX!
                    1. 0
                      LanX!
      2. 0
        LanX!
        1. 0
          LanX!
          1. 0
            Don P
  2. 0
    Struppi
    1. 0
      Kai345
      1. 0
        Kai345
        1. 0
          Struppi
          1. 0
            Kai345
    2. 0
      LanX!
      1. 0
        Struppi
        1. 0
          LanX!
          1. 0
            Struppi
            1. 0
              LanX!
              1. 0
                Struppi
                1. 0
                  LanX!
                  1. 0
                    LanX!
                  2. 0
                    Kai345
                    1. 0
                      LanX!
                      1. 0
                        at
                        1. 0
                          LanX!
    3. 0
      ChrisB