dedlfix: Ganz kleines JavaScript-Programm

Beitrag lesen

Tach!

function f1(x) {
return y => x * y;
};
const f3 = f1(3);
const f5 = f1(5);

alert(f3(11) + " " + f5(7));

ich schreibe das mal in "altmodisches" JavaScript um:

function f1 (x) {
  return function (y) {
    return x * y;
  };
}

const f3 = f1(3);
const f5 = f1(5);

alert(f3(11) + " " + f5(7)); // 33 35

So kann man sehen, dass eine anonyme Funktion zurückgegeben wird.

Das konnte man vorher auch schon sehen. Das Problem sehe ich daran nur, wenn man wenig Übung mit der Fat-Arrow-Syntax hat. Man sollte sich auch hüten, beide Schreibweisen als Ersatz anzusehen. Sie sind nämlich dann nicht mehr austauschbar, wenn ein this ins Spiel kommt. Die Fat-Arrow-Syntax kapselt das this vom Erstellungszeitpunkt, bei der herkömmlichen Schreibweise verweist this auf den aktuellen Aufruferkontext.

Der eigentliche Knackpunkt ist meines Erachtens jedoch die Benennung der Funktion(en). Der sollte aussagekräftiger als f1, f3 und f5, so dass man nicht erst analysieren muss, was die Funktion macht, sondern das idealerweise aus ihrem Namen heraus ablesen kann.

Damit wären wir dann bei den zwei Hauptproblemen des Programmierens:

  • Cache Invalidation
  • Naming Things
  • Off-By-One Errors

dedlfix.

0 49

Ganz kleines JavaScript-Programm

Julia
  • javascript
  1. 1
    JürgenB
    1. 0
      Julia
      1. 0
        Felix Riesterer
        1. 0
          J o
  2. 0
    J o
    1. 0
      Julia
  3. 5
    Orlok
    • javascript
    • programmiertechnik
  4. 3
    Felix Riesterer
    1. 2
      dedlfix
      1. 0
        pl
    2. 2

      Scope

      Orlok
      • javascript
      • perl
      1. 0
        Felix Riesterer
        1. 0
          pl
          1. 0
            Felix Riesterer
            1. 0
              pl
              1. 0
                Felix Riesterer
      2. 0
        pl
        1. 0
          pl
          • perl
        2. 1
          Tabellenkalk
          • perl
          1. 0
            pl
            1. 1
              Tabellenkalk
        3. 0

          Schönheitswettbewerb

          1unitedpower
          • programmiertechnik
          1. 0
            pl
            1. 0
              1unitedpower
              1. 0
                pl
                1. 0
                  1unitedpower
                  1. 0
                    pl
                    1. 4
                      1unitedpower
                      1. 0
                        Matthias Apsel
                        1. 1
                          1unitedpower
                          1. 0
                            pl
                            1. 0
                              Matthias Apsel
                            2. 0
                              1unitedpower
                              1. 0
                                pl
                                1. 0
                                  pl
                                  1. 0
                                    1unitedpower
                                2. 0
                                  1unitedpower
                                  1. 0
                                    pl
                                    1. 0
                                      1unitedpower
                      2. 0
                        Rolf B
                        1. 0
                          1unitedpower
                          1. 0
                            Rolf B
                            1. 0
                              1unitedpower
                        2. 0
                          pl
      3. 0

        Dynamic Scope

        pl
  5. 0
    pl
    1. 0
      Matthias Apsel
  6. 1
    Es