LanX!: undefined als Wert einer Objekt-Eigenschaft erlaubt?

Beitrag lesen

Sämtlicher JavaScript-Code, den ich bisher gelesen habe, macht das auch so. undefined wird so gut wie nie absichtlich verwendet, um eine Objekteigenschaft als »noch leer« zu initialisieren. Ich würde behaupten, dass es eine Konvention ist, null zu verwenden.

Ich kenne in JS-Core keine Funktion/Methode die null zurückgibt.

Was die Leute eher verwenden hängt davon ab wo sie verstärkt herkommen, Java-Leute tendieren zu null und scheinen bei Frameworks zu dominieren.

Vielleicht auch weil DOM-Funktionen halt in C artigen Sprachen geschrieben werden.

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.

Andererseits ist es das einzige Beispiel eines Typs object dass false ist.
Jeder andere Datentyp hat eine solchen null-instanz, also 0,"" und false, das spricht sehr für symmetriegründe.

Und das C/Java Leute den type von null als Fehler ansehen, kann auch bedeuten, dass sie mit Perls undef einfach nicht umgehen können.

Aber ich glaube die Wahrheit ist viel einfacher, beim Zusammenmanschen von Perl, Self und Java-features hat sich Brendan Eich nicht entscheiden können, und doppelt gemoppelt für gut befunden. :)

Bis denne
  Rolf

PS: Aber gut wer weiß, nur weil ich's mir nicht vorstellen kann, bedeutet es nicht dass ich nicht irgendwann null nutzen werde, um bewusstes Leer von automatischem Leer zu unterscheiden.

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