Struppi: undefined als Wert einer Objekt-Eigenschaft erlaubt?

Beitrag lesen

...aber null steht ja üblicherweise für ein nicht vorhandenes *Objekt*.

Das sehe ich nicht so. Diese Logik geht auch nicht auf. null macht keine Aussage darüber, für was es ein Platzhalter ist. In einer dynamisch getypten Sprache wäre das auch Quatsch. Dass typeof null 'object' ergibt, wird von vielen einfach als Fehler angesehen. Es ist jedenfalls kein Argument dafür, dass null nur als Platzhalter für Objects herhalten darf.

Wieso? Wenn null als Object definiert ist, dann ist es logischerweise auch der Platzhalter für ein Object.

Daher sehe ich auch nicht, warum es ein Fehler sein soll dass typeof null object ist.

undefined ist ein Wert, der sprachintern bereits mit viel Bedeutung überladen ist. null ist hingegen immer dann nötig, wenn der Programmierer absichtlich »kein Wert« sagen will. Deshalb verwenden sämtliche mir bekannten APIs auch im großen Stil null (DOM habe ich schon genannt, aber auch große JavaScript-Frameworks).

Ja, und zwar immer dann wenn die Defintion sagt, dass die Funktion ein Objekt zurückgibt. Wenn dieses Objekt nicht erzeugt werden kann (oder nicht gefunden) wird null zurückgegeben.

Dagegen ist "kein Wert" undefined

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