dedlfix: Objekt in Array so zulässig?

Beitrag lesen

Tach!

if (foo && foo.bar && foo.bar.qux)

völlig aus, um zu testen, ob foo.bar (als Objekt) existiert und in foo.bar.qux was sinnvolles drinsteht

Für sowas würde ich immer einen Helper schreiben, der mir den ganzen Boilerplate abnimmt, z.B. sowas:

console.log(getPath({}, "a.0.c"));
console.log(getPath({ a: [{ c: 'd' }]}, "a.0.c"));
console.log(getPath({}, "a.0.c", 'd'));

Das würde ich nicht machen, weil man hier mit Magic Strings arbeiten muss. Wenn sich an den Bezeichnern etwas ändert, muss man diese Strings mit berücksichtigen.

Dafür bieten zwar einige IDEs Find-Hilfen an ("suche den Namen auch in Strings"), aber das ist nicht das Gelbe vom Ei, verglichen mit "ersetz mir alles" - besonders wenn man mit TypeScript eine schöne Typisierung zur Verfügung hat.

dedlfix.

0 47

Objekt in Array so zulässig?

Silke Seide
  • javascript
  1. 0
    pl
    1. 0
      Silke Seide
  2. 0
    dedlfix
    1. 0
      ursus contionabundo
      1. 0
        dedlfix
        1. 0
          pl
          1. 0
            dedlfix
            1. 0
              pl
              1. 5
                Orlok
                • javascript
                • programmiertechnik
                1. 0
                  ursus contionabundo
                  1. 0
                    pl
                    1. 0
                      beatovich
                      1. 0
                        pl
                  2. 0
                    mark
                  3. 0
                    dedlfix
                    1. 0
                      Christian Kruse
                      1. 0
                        dedlfix
                        1. 0
                          Christian Kruse
                          1. 0
                            dedlfix
                            1. 0
                              Christian Kruse
                              1. 0
                                dedlfix
                                1. 0
                                  Christian Kruse
                                  1. 0
                                    1unitedpower
                                    1. 0
                                      1unitedpower
                                2. 2
                                  Rolf B
                                  1. 0
                                    Christian Kruse
                                  2. 0
                                    dedlfix
                                    1. 0
                                      Christian Kruse
                                      1. 0
                                        dedlfix
                                        1. 0
                                          Christian Kruse
                                    2. 0
                                      Rolf B
                              2. 0
                                dedlfix
                                1. 0
                                  Christian Kruse
                      2. 3
                        Christian Kruse
                        1. 0
                          dedlfix
                          1. -1
                            pl
                          2. 0
                            ursus contionabundo
                            1. 1
                              dedlfix
                        2. 0
                          Rolf B
                  4. 0
                    1unitedpower
                2. 0
                  1unitedpower
        2. 0
          ursus contionabundo
          1. 0
            pl
            1. 0

              Alter Perl-Pseudohash in modernem JS ...

              ursus contionabundo
              • javascript
              • meinung
              1. 0
                pl
    2. 0
      Silke Seide