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 Stringslet greetings = "... Hello";console.log(greetings);// Ausgabe: ... Hello
// Mit dem Verkettungsoperator +// können mehrere Strings verbunden werdengreetings = 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
Sequenz | Bedeutung |
---|---|
\‘ | Single quote |
\“ | Double quote |
\\\ | Backslash |
\b | Backspace |
\n | New line |
\t | Horizontal tab |
\v | Vertical tab |
let intro = "In a hole in the groundthere lived a \"hobbit\". Not a nasty, dirty,wet hole, filled with the ends of worms andan oozy smell, nor yet a dry, bare, sandyhole with nothing in it to sit down on.\nIt had a perfectly round door like a porthole,painted green, with a shiny yellow brass knobin the exact middle.\n The door opened on to atube-shaped hall like a tunnel: a very comfor-table tunnel without smoke, with panelledwalls, 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(); // -> TRINITROTOLUOLlet 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) ) }}