molily: undefined als Wert einer Objekt-Eigenschaft erlaubt?

Beitrag lesen

"An object is a container of properties, where a property has a name and a value. A property name can be any string, including the empty string. A property value can be any JavaScript value except for undefined."

Das ist falsch.

Ich kann dass im FF nicht nachvollziehen, hat jmd ne Ahnung was gemeint sein könnte, gibt es JS Engines die da Probleme machen?

Nein, ich wüsste nicht, wieso das Probleme machen sollte.

Es ist halt in der Praxis schwierig, mit undefined-Properties zu arbeiten, d.h. sie von tatsächlich nicht vorhandenen abzugrenzen.

var o = { p : undefined };  
  
o.p // ergibt undefined  
o.x // ergibt undefined  
  
if (o.p) // springt in den else-Block  
if (o.x) // springt in den else-Block  
  
typeof o.p // ergibt undefined  
typeof o.x // ergibt undefined  
  
"p" in o // ergibt true  
"x" in o // ergibt false

Absichtlich würde ich deshalb nicht mit undefined-Werten arbeiten. Wenn etwas gesetzt ist, aber keinen Wert hat, dann sollte man null verwenden.

Mathias

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