kai345: Mathematik/Programmiertechnik zum Wochenende – Lösung

Beitrag lesen

Eine Methode, um die Vorkommen eines Zeichens (einer Zeichenkette) in einem String zu zählen:

String.prototype.occurrences = function (character) {
	return this.match(new RegExp(character, 'g'))?.length || 0;
};

Ist es eigentlich eine gute oder eine blöde Idee, Basisobjekte prototypisch zu erweitern? (Ernsthafte Frage.)

Ja. Nein. Vielleicht. Keine Ahnung.

Object ist selbstverständlich wegen der Vererbung tabu, String, Number, Array hingegen halte ich nicht wirklich für problemantisch. [1]

Es ist aber anzuraten, bezüglich eventueller zukünftiger JS-Erweiterungen eine Namenskonvention zu verwenden, die bei (in)offiziellen Benamungen nicht verwendet werden wird, z.B. ein/zwei führende Unterstriche String.prototype.__occurrences() (oder irgendetwas anderes; bspw. ein Prefix), um zu vermeiden, dass potentielle Funktionen durch Namens-Kollisionen überschrieben werden.

/K

--
Stur lächeln und winken, Männer!

  1. Natürlich wird die prototypische Erweiterung auch da in speziellen Fällen versagen, z.B. wenn genau 99 Hexen in der Walpurgisnacht bei Vollmond gegen den Uhrzeigersinn auf ihren Besen pesen ↩︎

0 42

Mathematik/Programmiertechnik zum Wochenende

Matthias Apsel
  • mathematik
  1. 0
    Rolf B
    1. 0
      Gunnar Bittersmann
      1. 0
        Rolf B
    2. 0
      Matthias Apsel
      1. 0
        Tabellenkalk
        1. 0
          Matthias Apsel
          1. 0
            Tabellenkalk
            1. 0
              Gunnar Bittersmann
              1. 0
                Tabellenkalk
                1. 0
                  Gunnar Bittersmann
                  1. 0
                    Rolf B
                    1. 0
                      Matthias Apsel
                      1. 0
                        Rolf B
                        1. 0
                          Matthias Apsel
  2. 0
    Gunnar Bittersmann
    1. 0
      Rolf B
      1. 0
        Gunnar Bittersmann
        1. 0
          JürgenB
          1. 0
            Rolf B
    2. 0
      Matthias Apsel
  3. 0
    Gunnar Bittersmann
  4. 0
    Tabellenkalk
    1. 0
      Rolf B
      1. 0
        Gunnar Bittersmann
        1. 1

          Mathematik/Programmiertechnik zum Wochenende – Lösung

          Gunnar Bittersmann
          1. 0
            Tabellenkalk
          2. 0
            Rolf B
  5. 0
    Gunnar Bittersmann
  6. 0
    Rolf B
    1. 0
      Gunnar Bittersmann
      1. 0
        Rolf B
  7. 0

    Mathematik/Programmiertechnik zum Wochenende – Lösung

    Gunnar Bittersmann
    • javascript
    • mathematik
    1. 0
      kai345
      • javascript
    2. 0
      Rolf B
    3. 0
      Gunnar Bittersmann
  8. 0

    Mathematik/Programmiertechnik zum Wochenende - Anzahl der n

    Rolf B
    1. 0
      Rolf B
      1. 0
        Rolf B
        1. 0
          Gunnar Bittersmann
    2. 0
      Gunnar Bittersmann
      • latex
      • zu diesem forum
      1. 0
        Christian Kruse