Skip to content

JavaScript - Bibliotheken

JavaScript - Bibliotheken

Wir wollen das Rad nicht neu erfinden.


Bibliotheken

Anstatt jede Funktionalität selbst zu programmieren, verwenden wir in der Entwicklung von Software sehr häufig bestehende Funktionalitäten.

Diese Funktionalitäten werden über Softwarebibliotheken (Libraries) zur Verfügung gestellt.

Eine Library ist eine Sammlung von Funktionen, die so allgemein gehalten sind, dass sie gut wiederverwendbar sind.


Arten von Libraries

  • Base Library / Standard Library
    • Wird als Teil der Sprachumgebung mit ausgeliefert.
    • Kein Setup/Installation nötig
  • 3rd Party / External Libraries
    • müssen extra für jedes Projekt installiert werden
    • werden meistens über eine eigene Software (Package Manager) verwaltet
    • werden von Drittherstellern entwickelt und zur Verfügung gestellt

JavaScript Base Library

Mit der Sprache JavaScript kommen eine Vielzahl von Funktionen, die verwendet werden können.

Einige davon kennen wir schon:

  • push
  • pop

WH: JavaScript Zeichenketten

Bei der Entwicklung von Programmen spielen Zeichenketten eine zentrale Rolle.

Viele Programme sind nur textbasiert (Konsolenprogramme).

Programmtechnisch werden Zeichenketten als beliebige Folge von Buchstaben, Ziffern und Sonderzeichen verstanden.

Ein String ist eine unter Hochkomma gestellte Zeichenkette.


// Definition eines Strings
let greetings = "... Hello";
console.log(greetings);
// Ausgabe: ... Hello
// Mit dem Verkettungsoperator +
// können mehrere Strings verbunden werden
greetings = greetings + " " + "Hugo";
console.log(greetings);
// Ausgabe: ... Hello Hugo
// Jedes einzelne Zeichen des Strings hat
// eine eindeutige Index-Nummer.
// Von dieser Warte aus sind Strings vergleichbar
// mit Arrays.
let s1 = greetings[0];
let sn = greetings[greetings.length - 1];
console.log(s1); // -> .
console.log(sn); // o

Escape Sequenzen

Eine Escape Sequenz ist eine Zeichenkombination, die keinen Text repräsentiert, sondern vom Gerät abgefangen wird um eine Sonderaktion auszuführen.

Zeichenkombinationen, bestehend aus einem Backslash gefolgt von einem Buchstaben oder einer Kombination aus Ziffern, werden als Escapesequenzen bezeichnet.


JavaScript Escapesequenzen

SequenzBedeutung
\‘Single quote
\“Double quote
\\\Backslash
\bBackspace
\nNew line
\tHorizontal tab
\vVertical tab

let intro = "In a hole in the ground
there lived a \"hobbit\". Not a nasty, dirty,
wet hole, filled with the ends of worms and
an oozy smell, nor yet a dry, bare, sandy
hole with nothing in it to sit down on.\n
It had a perfectly round door like a porthole,
painted green, with a shiny yellow brass knob
in the exact middle.\n The door opened on to a
tube-shaped hall like a tunnel: a very comfor-
table tunnel without smoke, with panelled
walls, and floors tiled and carpeted, provi-
ded with polished chairs and lots and lots
...";
console.log(intro)

String-Methoden

Methoden sind Funktionen die für einen bestimmten Datentyp definiert wurden.

Die JavaScript Base Library bietet definiert eine Reihe von Methoden um Zeichenketten einfach verarbeiten zu können.


charAt

Die Methode charAt() liefert dasjenige Zeichen zurück, das in einer Zeichenkette an einer bestimmten Position steht.

// Methodenkopf: Number charAt(index)
let rmiUrl = "rmi://127.0.0.1:4098/registry";
let a0 = rmiUrl[0];
let b0 = rmiUrl.charAt(0);
if(a0==b0){
console.log("Both functions are same");
}

endsWith

Die Methode endsWith() bestimmt, ob eine Zeichenkette mit den Zeichen einer bestimmten Zeichenkette endet, und gibt je nach Fall true oder false zurück.

// Methodenkopf: boolean endsWith(token)
let rmiUrl = "rmi://127.0.0.1:4098/registry";
if(
rmiUrl.endsWith(rmiUrl[rmiUrl.length - 1])
){
console.log("always true");
}

includes

Die Methode includes() durchsucht eine Zeichenkette nach dem Vorhandensein einer vorgegebenen anderen Zeichenkette. Optional kann man eine positive Ganzzahl als Startposition für die Suche angeben. Das Ergebnis ist entweder true oder false.


// Methodenkopf: includes(token, position)
/*
* @param token: Erwartet als Parameter einen
* String. Die Methode prueft den String
* auf das Vorhandensein des tokens. (required)
*
* @param position: Der String wird ausgehend
* von einem bestimmten Index durchsucht (optional)
*
*/
let word = "konfitüre";
if (word.includes("türe")) {
console.log("Diese Türe steht dir offen.");
}

indexOf

Die Methode indexOf() ermittelt das erste Vorkommen eines Zeichens oder einer Zeichenkette innerhalb einer anderen Zeichenkette und gibt zurück, an wievielter Stelle es gefunden wurde. Die Zählung beginnt bei 0. Wenn die Suche erfolglos ist, wird -1 zurückgegeben.


// Methodenkopf: indexOf(token, position)
/*
* @param token: Zeichenkette, nach der
* gesucht werden soll. (required)
*
* @param position: Es ist möglich,
* die Funktion in einem zweiten Parameter
* anzuweisen, ab der wievielten Stelle
* in der Zeichenkette sie mit der Suche
* beginnen soll. (optional)
*
*/
let word = "Trinitrotoluol";
let index = word.indexOf("i");
console.log(index); // -> 2

lastIndexOf

Die Methode lastIndexOf() ermittelt das letzte Vorkommen eines Zeichens oder einer Zeichenkette innerhalb einer anderen Zeichenkette und gibt zurück, an wievielter Stelle es gefunden wurde. Die erste Stelle ist 0. Wenn die Suche erfolglos ist, wird -1 zurückgegeben.


// Methodenkopf: lastIndexOf(token, position)
/*
* @param token: Zeichenkette, nach der
* gesucht werden soll. (required)
*
* @param position: Es ist möglich,
* die Funktion in einem zweiten Parameter
* anzuweisen, ab der wievielten Stelle
* in der Zeichenkette sie mit der Suche
* beginnen soll. (optional)
*
*/
let word = "Trinitrotoluol";
let index = word.lastIndexOf("o");
console.log(index); // -> 12

repeat

Die Methode repeat() gibt eine neue Zeichenkette zurück, in welcher der Inhalt der ursprünglichen Zeichenkette entsprechend oft wiederholt enthalten ist.

// Methodenkopf: repeat(amount)
/*
* @param amount: Anzahl der Wiederholungen. (required)
*
*/
let personToken = "person" + " ";
let people = personToken.repeat(5);

replace

Die Methode replace() durchsucht eine Zeichenkette mit Hilfe eines regulären Ausdrucks und ermsetzt Zeichenfolgen, auf die der reguläre Ausdruck passt.

Alternativ kann die Methode auch das erste Vorkommen einer zu definierenden Zeichenkette ersetzen.


// Methodenkopf: replace(substr, newStr)
/*
* @param substr: Zeichenkette, deren erstes
* Vorkommen ersetzt werden soll (required)
*
* @param newStr: Zeichenkette, durch die die gefundene
* Stelle ersetzt werden soll. (required)
*
*/
let url = "rmi://127.0.0.1:4098/registry";
url = url.replace("rmi", "http");
console.log(url);

replaceAll

Die Methode replaceAll() ersetzt das Vorkommen eines Tokens im ganzen String.

// Methodenkopf: replaceAll(substr, newStr)
/*
* @param substr: Zeichenkette,
* die ersetzt werden soll. (required)
*
* @param newStr: Zeichenkette, durch die die gefundene
* Stelle ersetzt werden soll. (required)
*
*/
let str = "Die \"Anfuehrungszeichen\" ersetzen.";
str = str.replaceAll("\"", "\'");

trim

Die Methode trim() entfernt alle Whitespaces (Leerzeichen, Tabs, Zeilenumbrücke) am Anfang und am Ende des Strings.

// Methodenkopf: trim()
let input = " Eingabe eines Users ";
input = input.trim();
console.log(input);

split

Die Methode split() zerlegt Zeichenketten in mehrere Teilzeichenketten. Die erzeugten Teilzeichenketten werden in einem Array gespeichert.


// Methodenkopf: split(separator, limit)
/*
* @param separator: ein Begrenzerzeichen oder eine
* Begrenzerzeichenfolge, die als Trennmerkmal fuer
* die Teilzeichenketten verwendet werden soll. (required)
*
* @param limit: Zahlangabe, wie viele Split Vorgaenge
* maximal durchgefuehrt werden sollen. (optional)
*
*/
let tokens = "Hellion, Aussaultcraft, Avenger, Thunderbolt";
let aircrafts = tokens.split(",");
for (const aircraft of aircrafts) {
console.log(aircraft);
}

toUpperCase toLowerCase

Die Methode toUpperCase wandelt die Zeichenkette in Großbuchstaben um und gibt diese zurück. Bei toLowerCase werden es Kleinbuchstaben.

// Methodenkopf: toUpperCase(), toLowerCase()
let data = "Trinitrotoluol";
let upper = data.toUpperCase(); // -> TRINITROTOLUOL
let lower = data.toLowerCase(); // -> trinitrotoluol

substring

Die Methode substring() gibt eine Teilzeichenkette zurück, die sie aus einer gegebenen Zeichenkette ab einer bestimmten Zeichenposition und bis zu einer bestimmten Zeichenposition extrahiert.


// Methodenkopf: substring(begin, end)
/*
* @param begin: Position des ersten zu extrahierenden
* Zeichens in der Zeichenkette, wobei bei 0 zu zaehlen
* begonnen wird. (required)
*
* @param end: Position des ersten nicht mehr zu
* extrahierenden Zeichens in der Zeichenkette, wobei bei 0
* zu zaehlen begonnen wird. (optional)
*
*/
let rmiUrl = "rmi://127.0.0.1:4098/registry";
if (rmiUrl.includes(":")) {
let properties = {
"protocol" :
rmiUrl.substring (
0,
rmiUrl.indexOf(":")
),
"ip" :
rmiUrl.substring (
rmiUrl.indexOf("/") + 2,
rmiUrl.lastIndexOf(":")
),
"port" :
rmiUrl.substring (
rmiUrl.lastIndexOf(":") + 1,
rmiUrl.lastIndexOf("/")
),
"destination" :
rmiUrl.substring (
rmiUrl.lastIndexOf("/" + 1)
)
}
}

Zusammenfassung

Stringfunktionen.png