Typescript

In der Welt der Informatik nimmt die Programmiersprache TypeScript zunehmend an Bedeutung zu. Dieser Artikel bietet dir einen detaillierten Einblick in TypeScript, angefangen bei seiner Definition und einfachen Erklärungen über die Unterschiede zwischen TypeScript und JavaScript bis hin zu dessen Compiler und dessen Funktionsweise. Es wird beleuchtet, wie Typisierung, Interfaces und Klassen in TypeScript arbeiten. Der Artikel bietet auch eine Vertiefung in die Verwendung von Map, Enum und typeof Methods in TypeScript sowie ausführliche Übungen und Fallbeispiele. Abschließend findest du eine Bewertung von TypeScript, in der Vor- und Nachteile gründlich analysiert und Erfahrungsberichte präsentiert werden.

Los geht’s

Lerne mit Millionen geteilten Karteikarten

Leg kostenfrei los

Brauchst du Hilfe?
Lerne unseren AI-Assistenten kennen!

Upload Icon

Erstelle automatisch Karteikarten aus deinen Dokumenten.

   Dokument hochladen
Upload Dots

FC Phone Screen

Brauchst du Hilfe mit
Typescript?
Frage unseren AI-Assistenten

Review generated flashcards

Leg kostenfrei los
Du hast dein AI Limit auf der Website erreicht

Erstelle unlimitiert Karteikarten auf StudySmarter

Inhaltsverzeichnis
Inhaltsverzeichnis

Springe zu einem wichtigen Kapitel

    Einführung in Typescript: Von den Grundlagen bis zur Anwendung

    Typescript ist eine leistungsstarke, typisierte Erweiterung von JavaScript, die zur Erstellung von großen, robusten Anwendungen entwickelt wurde. In der heutigen technologiegetriebenen Welt nimmt die Beliebtheit von Typescript stetig zu, was es zu einer ausgezeichneten Fähigkeit für alle macht, die an einer Karriere in der Informatik interessiert sind.

    Was ist Typescript: Definition und einfache Erklärung

    Typescript ist eine stark typisierte, objektorientierte Programmiersprache, die auf JavaScript basiert. Es ist ein syntaktischer Zucker für JavaScript, was bedeutet, dass bestehende JavaScript-Programme auch als Typescript-Programme betrachtet werden können.

    Als Beispiel für ein einfaches Typescript-Programm könnte eine Funktion zur Berechnung der Fläche eines Rechtecks wie folgt aussehen:

    function CalculateArea(width: number, height: number): number {
        return width * height;
    }
    
    In diesem Code-Beispiel werden Funktionen in Typescript durch das Schlüsselwort function definiert, gefolgt vom Funktionsnamen und den als Parameter übergebenen Argumenten. In diesem Fall sind die Argumente width und height vom Typ Zahl, und die Funktion gibt ebenfalls eine Zahl zurück.

    Typescript vs Javascript: Ein Vergleich

    Obwohl Typescript eine Supersetzung von JavaScript ist, gibt es dennoch einige Unterschiede zwischen den beiden Sprachen. Hier ist ein kurzer Vergleich:

    Javascript Typescript
    Less code lines More code lines
    Weakly typed Strongly typed
    No support for interfaces Support for interfaces

    Obwohl JavaScript weniger Codezeilen hat und einfacher zu lernen ist, bietet Typescript dank seiner strengen Typisierung und Unterstützung für Schnittstellen eine sicherere und besser strukturierte Programmierung.

    Typescript Compiler: Definition und Funktionsweise

    Der Typescript Compiler ist ein Stück Software, das Typescript-Code in JavaScript-Code übersetzt. Da Webbrowser JavaScript und nicht Typescript verstehen, ist dieser Schritt notwendig, um Typescript-Code in einer Webumgebung auszuführen.

    Wenn du beispielsweise ein Typescript-Programm mit einer Funktion zum Hinzufügen von zwei Zahlen hast:

    function addNumbers(a: number, b: number): number {
        return a + b;
    }
    
    Wird der Typescript-Compiler diesen Code in JavaScript umwandeln:
    function addNumbers(a, b) {
        return a + b;
    }
    
    In diesem umgewandelten Code fehlen die Typdefinitionen, da JavaScript dynamisch typisiert ist.

    Typescript Funktionsweise: Typisierung, Interfaces und Klassen

    Typescript erweitert JavaScript durch Einführung eines statischen Typsystems, das für mehr Zuverlässigkeit bei der Codeentwicklung und ein schnelleres Debugging von Fehlern sorgt. Des Weiteren bietet es Features wie Interfaces und Klassen, die für eine strukturierte Objektorientierte Programmierung essentiell sind. Im folgenden werden diese Funktionen und Eigenschaften von Typescript im Detail erläutert.

    Typescript Typisierung: Ein tieferer Einblick

    Die Typisierung in Typescript bezieht sich auf die Verwendung von statischen Typen in deiner Programmiersprache, was dazu beiträgt, Codefehler zu reduzieren und eine sicherere und vorhersagbarere Codierung zu ermöglichen.

    Typescript hat sowohl primitive (Basis-)Typen als auch fortgeschrittene Typen. Die primitiven Typen in TypeScript sind:

    • Boolean: Ein logischer Wert, der entweder true oder false ist.
    • Number: Eine numerische Dateneinheit, die in TypeScript so gut wie alle numerischen Operationen unterstützt.
    • String: Eine Sequenz von Zeichen, die zum Speichern von Textdaten verwendet wird.

    Fortgeschrittene Typen in TypeScript beinhalten:

    • Array: Eine Sammlung von Elementen des gleichen Typs.
    • Tuple: Ein Array mit bekannten Elementzahlen und -typen, aber die Typen müssen nicht gleich sein.
    • Any: Ein Spezialtyp für Variablen, deren Typ wir nicht wissen.

    Ein einfacher Code zur Demonstration typisierter Variablen in Typescript könnte wie folgt aussehen:

    let isDone: boolean = false;
    let decimal: number = 6;
    let color: string = "Blue";
    
    In diesem Beispiel definiert die Deklaration und Typisierung der jeweiligen Variablen, wie sie in der Anwendung verwendet werden können.

    Typescript Interface: Verwendung und Beispiele

    Eine Schnittstelle in Typescript ist eine Methode zur Definition benutzerdefinierter Typen. Es definiert die Syntax für Klassen, um einer Schnittstelle zu entsprechen. Es kann verwendet werden, um die Struktur eines Objekts zu definieren.

    Ein einfacher Code zur Demonstration der Verwendung von Interfaces in Typescript könnte so aussehen:

    interface RectangleOptions {
        width: number;
        length: number;
    }
    
    function calculateArea(options: RectangleOptions): number {
        return options.width * options.length;
    }
    
    In diesem Beispiel definiert das Interface RectangleOptions den erwarteten Typ und die Struktur der übergebenen Parameter zur Funktion calculateArea.

    Typescript Class: Definition und Anwendungsbeispiele

    Eine Klasse in Typescript ist ein Bauplan für Objekte. Sie enthält Variablen und Funktionen, die die Eigenschaften und Verhaltensweisen der Objekte definieren. Die Klassen in Typescript unterstützen Konzepte wie Vererbung, Methodenüberlagerungen und abstrakte Klassen.

    Ein einfacher Code zur Demonstration der Verwendung von Klassen in Typescript könnte wie folgt aussehen:

    class Rectangle {
        width: number;
        length: number;
        
        constructor(width: number, length: number) {
            this.width = width;
            this.length = length;
        }
        
        calculateArea() {
            return this.width * this.length;
        }
    }
    
    In diesem Code-Beispiel wird eine Klasse mit dem Namen Rectangle erstellt. Diese Klasse hat zwei Eigenschaften: Breite und Länge und eine Methode zur Berechnung der Fläche des Rechtecks.

    Vertiefung in Typescript: Map, Enum und typeof Methods

    In der Tiefe der Informatik kannst du mit Typescript zahlreiche Funktionen nutzen, die dazu beitragen, effizienten und leistungsstarken Code zu erstellen. Angesichts ihrer weitreichenden Anwendung und ihres Potenzials zur Verbesserung deiner Codierungsfähigkeiten sind die Map-Funktion, Enum und die typeof-Methode besonders wichtig. Lass uns in diese Themen eintauchen!

    Typescript enum: Verwendung und Vorteile

    Ein Enum in Typescript (kurz für enumeration) ist eine spezielle Art von Datenstruktur, die einer bestimmten Gruppe von benannten numerischen Konstanten Werte zuweist. Es ermöglicht es dir, einen Datentyp zu definieren, der eine vordefinierte Liste von Konstanten enthält und so die Lesbarkeit und Fehlersicherheit deines Codes verbessert.

    Ein wichtiger Vorteil von Enums besteht darin, dass sie semantische und lesbare Werte ermöglichen, die das Verständnis und die Fehlersuche im Code erleichtern. Außerdem tragen sie dazu bei, magische Zahlen oder Werte zu eliminieren, die sonst verwirrend oder nicht klar wären.

    Ein einfaches Anwendungsbeispiel für ein Enum in Typescript könnte so aussehen:

    enum Weekdays {
        Monday,
        Tuesday,
        Wednesday,
        Thursday,
        Friday,
        Saturday,
        Sunday
    }
    
    In diesem Code-Ausschnitt wird ein Enum namens Weekdays erstellt, das die Werte für die Tage der Woche darstellt. Du könntest dann eine Variable wie folgt erstellen:
    let day: Weekdays = Weekdays.Monday;
    
    In diesem Beispiel wird eine neue Variable day erstellt und erhält als Wert den Montag aus der Enum-Struktur Weekdays.

    Anwendung der Typescript map Funktion

    Die map Funktion in Typescript ist eine wichtige Funktion für die Bearbeitung von Arrays. Sie ermöglicht es dir, über jedes Element in einem Array zu iterieren und eine Funktion auf dieses Element anzuwenden. Das Ergebnis ist ein neues Array, das aus den Ergebnissen der Funktionsanwendung auf jedes Element besteht.

    Ein einfacher Code zur Demonstration der map-Funktion in Typescript könnte so aussehen:

    let numbers: number[] = [1, 2, 3, 4, 5];
    let squaredNumbers: number[] = numbers.map(x => x * x);
    
    In diesem Beispiel wird die map-Funktion auf das Array von Zahlen angewandt. Die Funktion, die auf jedes Element angewandt wird, ist x => x * x, was bedeutet, dass jedes Element im ursprünglichen Array quadriert wird. Das Ergebnis ist ein neues Array squaredNumbers, das die quadrierten Werte der ursprünglichen Zahlen enthält.

    Typescript typeof Methode: Erklärung und Anwendungsbeispiele

    Die typeof-Methode in Typescript erlaubt es dir, den Datentyp einer bestimmten Variable zu überprüfen. Dies kann besonders nützlich sein, wenn du während des Debugging-Prozesses prüfen möchtest, welchen Typ eine Variable hat, oder wenn du sicherstellen möchtest, dass eine Variable einen bestimmten Typ hat, bevor du eine Operation darauf ausführst.

    Die Anwendung der typeof-Methode in Typescript könnte wie folgt aussehen:

    let num: number = 123;
    let result: string = typeof num;  // returns 'number'
    
    In diesem Beispiel wird die typeof-Methode auf die Variable num angewendet, die den Wert 123 enthält. Das Ergebnis der typeof-Methode ist der String 'number', welches der Typ der Variable num ist.

    Während typeof sehr nützlich sein kann, um den Typ einer Variable zu ermitteln, solltest du bedenken, dass es bei komplexen Objekten oder benutzerdefinierten Typen noch einige Einschränkungen hat. Es kann zum Beispiel nicht zwischen benutzerdefinierten Typen unterscheiden und gibt 'object' für alle nicht-primitiven Typen zurück.

    Üben und Vertiefen: Typescript Übungen und Fallbeispiele

    Zum Erlernen und Vertiefen von Programmiersprachen ist praktisches Üben das A und O. Übungen und praxisnahe Fallbeispiele können dir helfen, deine Typescript-Fähigkeiten zu verfeinern und stetig zu verbessern. In diesem Abschnitt findest du einige Übungen für verschiedene Kompetenzstufen - von Grundlagenübungen für Anfänger bis hin zu komplexeren Übungen, die die Anwendung von Typisierungen und Interfaces im Mittelpunkt haben.

    Typescript Übungen: Vertiefung der Grundlagen

    Für Anfänger ist es am besten, mit den Grundlagen zu starten und diese zu festigen. Zunächst könnten folgende Übungen hilfreich sein:

    • Variable Deklaration: Übe die Deklaration von Variablen verschiedener Typen, einschließlich number, string und boolean. Versuche, der Variable einen Wert zu geben und diesen dann zu ändern.
    • Funktionen: Schreibe verschiedene Funktionen zur Berechnung von mathematischen Operationen wie Addition, Subtraktion, Division und Multiplikation.
    • Arrays: Erstelle Arrays von Zahlen und Strings. Übe verschiedene Operationen auf diesen Arrays wie das Hinzufügen und Entfernen von Elementen.

    Ein einfach gehaltenes Fallbeispiel könnte wie folgt aussehen:

    let rechteckBreite: number = 5;
    let rechteckLänge: number = 10;
    
    function berechneFläche(breite: number, länge: number): number {
        return breite * länge;
    }
    
    console.log(berechneFläche(rechteckBreite, rechteckLänge)); // sollte 50 ausgeben
    
    In dieser Übung erstellst du zwei Variablen für die Breite und Länge eines Rechtecks und verwendest diese in einer Funktion zur Berechnung der Fläche dieses Rechtecks. Durch die Verwendung von console.log kannst du das Ergebnis in der Konsole anzeigen und verifizieren.

    Erweiterte Typescript Übungen: Anwendung von Typisierung und Interfaces

    Wenn du mit den Grundlagen von Typescript vertraut bist, kannst du komplexere Übungen in Angriff nehmen, die auf Typisierung und Interfaces abzielen. Hier sind einige Übungsvorschläge:

    • Verwendung des Enum: Erstelle ein Enum, das verschiedene Status für eine Bestellung in einem Online-Shop enthält, zum Beispiel: "Placed", "Dispatched", "Delivered".
    • Arbeiten mit Interfaces: Entwerfe ein Interface, das die Struktur eines "Studenten"-Objekts mit Eigenschaften wie Vorname, Familienname und Studienfach definiert. Erstelle ein paar "Student"-Objekte, die dieses Interface verwenden.
    • Verwenden von Klassen: Implementiere eine Klasse mit Eigenschaften und Methoden. Eine Möglichkeit könnte die Realisierung einer "Auto"-Klasse sein, die Eigenschaften wie Marke, Modell und Geschwindigkeit besitzt und Methoden wie fahren, bremsen, etc.

    Ein fortgeschrittenes Fallbeispiel, das das Arbeiten mit Interfaces demonstriert, könnte folgendermaßen aussehen:

    interface Student {
        vorname: string;
        nachname: string;
        studienfach: string;
    }
    
    let student1: Student = {vorname: "Max", nachname: "Mustermann", studienfach: "Informatik"};
    let student2: Student = {vorname: "Maria", nachname: "Musterfrau", studienfach: "Mathematik"};
    
    function printStudent(student: Student) {
        console.log(student.vorname + " " + student.nachname + " studiert " + student.studienfach + ".");
    }
    
    printStudent(student1); //sollte 'Max Mustermann studiert Informatik.' ausgeben
    printStudent(student2); //sollte 'Maria Musterfrau studiert Mathematik.' ausgeben
    
    In dieser Übung wurden ein Interface zur Definition der Struktur eines "Studenten"-Objekts und eine Funktion zur Ausgabe der Studenteninformationen erstellt. Die Funktion wurde dann auf zwei verschiedene "Studenten"-Objekte angewendet.

    Bewertung von Typescript: Vor- und Nachteile

    Die Verwendung von Typescript bringt sowohl Vor- als auch Nachteile mit sich. Es ermöglicht eine sicherere und zuverlässigere Code-Entwicklung, ist allerdings auch mit einer größeren Lernkurve und zusätzlichen Komplexitäten verbunden. Es ist wichtig, diese Aspekte vollständig zu verstehen und sorgfältig abzuwägen, bevor du dich entscheidest, ob Typescript für dich geeignet ist und ob es die beste Lösung für dein Projekt oder deine Organisation darstellt.

    Typescript Vor- und Nachteile: Eine gründliche Analyse

    Typescript hat viele Vorteile, die es zu einer attraktiven Option für die Entwicklung von großen, robusten Anwendungen machen. Dennoch sind auch einige Herausforderungen zu beachten.

    Vorteile von Typescript:

    • Sichere Typisierung: Einer der größten Vorteile von Typescript ist das statische Typsystem. Es erlaubt dir, Fehler im Code zu erkennen, noch bevor der Code ausgeführt wird.
    • Objektorientierte Programmierung: Typescript unterstützt Konzepte der objektorientierten Programmierung wie Klassen, Interfaces und Modulen.
    • Interoperabilität: Da Typescript eine Obermenge von JavaScript ist, ist es mit allen JavaScript-Bibliotheken kompatibel.

    Nachteile von Typescript:

    • Lernkurve und Komplexität: Typescript erfordert eine Einarbeitungszeit, insbesondere für Entwickler, die zuvor noch nicht mit statisch typisierten Sprachen gearbeitet haben.
    • Zusätzlicher Kompilierungsschritt: Typescript-Code muss in JavaScript-Code kompiliert werden, bevor er in einem Webbrowser ausgeführt werden kann. Dies fügt einen zusätzlichen Schritt zum Entwicklungsprozess hinzu.

    Bei der Bewertung von Typescript ist es also entscheidend, den Kontext zu berücksichtigen. In vielen Fällen können die Vorteile, wie die Fehlerverhinderung durch die Typisierung und die verbesserte Lesbarkeit und Wartbarkeit des Codes, die zusätzlichen Komplexitäten mehr als wettmachen.

    Typescript im Einsatz: Bewertung und Erfahrungsberichte

    Viele Entwickler und Unternehmen haben positive Erfahrungen mit Typescript gemacht. Die Umstellung von JavaScript auf Typescript kann eine Herausforderung sein, doch die Vorteile dieses robusten Typsystems werden oft als lohnenswert empfunden. Hier sind einige Erfahrungsberichte aus der Praxis:

    Ein großes E-Commerce-Unternehmen berichtete, dass die Einführung von Typescript ihnen half, häufige Programmierfehler zu reduzieren und die Qualität ihres Codes zu verbessern. Indem sie anfängliche Fehler bei der Typisierung vermeiden konnten, überwanden sie frühe Hindernisse und stellten fest, dass sie mit Typescript effizienter arbeiten konnten.

    Eine Webentwicklungsagentur stellte fest, dass die Umstellung auf Typescript ihre Produktivität erheblich steigerte. Mit Typescript waren sie in der Lage, eine bessere Code-Struktur und -Ordnung zu erreichen. Darüber hinaus führte die zusätzliche Sicherheit und Robustheit von Typescript dazu, dass sie weniger Zeit mit Debugging verbrachten und mehr Zeit für die eigentliche Entwicklung hatten.

    Sicherlich hat Typescript auch seine Herausforderungen und ist möglicherweise nicht für jedes Projekt oder jedes Team die richtige Wahl. Es ist wichtig, die spezifischen Anforderungen und Ressourcen deines Projekts oder Unternehmens zu berücksichtigen. Nichtsdestotrotz haben viele festgestellt, dass die Stärken von Typescript - insbesondere sein starkes Typsystem und seine Unterstützung für objektorientierte Programmierkonzepte - einen erheblichen positiven Einfluss auf ihre Entwicklungsarbeit haben.

    Typescript - Das Wichtigste

    • Typescript Compiler: Übersetzt Typescript-Code in JavaScript-Code
    • Typescript Typisierung: erlaubt Verwendung von statischen Typen zur Reduzierung von Codefehlern
    • Typescript Interface: Methode zur Definition benutzerdefinierter Typen und zur Strukturdefinition eines Objekts
    • Typescript Class: Bauplan für Objekte mit Variablen und Funktionen, die Eigenschaften und Verhaltensweisen definieren
    • Typescript enum: spezielle Datenstruktur, die einer Gruppe von benannten numerischen Konstanten Werte zuweist
    • Typescript map Funktion: zum Bearbeiten von Arrays, erzeugt ein neues Array durch Anwendung einer Funktion auf jedes Element
    • Typescript typeof Methode: zur Überprüfung des Datentyps einer bestimmten Variable
    Typescript Typescript
    Lerne mit 11 Typescript Karteikarten in der kostenlosen StudySmarter App
    Mit E-Mail registrieren

    Du hast bereits ein Konto? Anmelden

    Häufig gestellte Fragen zum Thema Typescript
    Was ist TypeScript?
    Typescript ist eine auf Open-Source basierende Programmiersprache, die von Microsoft entwickelt wurde. Sie ist eine streng typisierte Obermenge von JavaScript, die zusätzliche Funktionen wie statische Typisierung und Klassenbasierte Objektorientierung bietet.
    Wie funktioniert TypeScript?
    Typescript ist eine stark typisierte, kompilierte Sprache, die auf JavaScript basiert. Man schreibt Code in Typescript, der dann mittels eines Transpilers in gängiges JavaScript umgewandelt wird. So ermöglicht Typescript eine sichere und skalierbare Code-Entwicklung, bietet Typsicherheit und unterstützt objektorientierte Programmierkonzepte.
    Wie unterscheidet sich TypeScript von JavaScript?
    TypeScript ist eine Obermenge von JavaScript, was bedeutet, dass jede gültige JavaScript-Datei auch eine gültige TypeScript-Datei ist. Der Hauptunterschied liegt in der Typisierung: TypeScript fügt statische Typen, Interfaces und Typinferenz hinzu, was die Entwicklung großer und komplexer Systeme erleichtert.
    Wie kann ich mit TypeScript eine Webanwendung erstellen?
    Um mit TypeScript eine Webanwendung zu erstellen, müssen Sie zuerst TypeScript auf Ihrem Computer installieren. Anschließend verwenden Sie einen Texteditor, um TypeScript-Dateien (.ts) zu schreiben, welche die Logik Ihrer Anwendung definieren. Nutzen Sie dann den TypeScript-Compiler, um Ihre .ts-Dateien in .js-Dateien zu überführen, die in einem Webbrowser laufen können.
    Wie installiere und konfiguriere ich TypeScript auf meinem Computer?
    Um TypeScript zu installieren, benutzen Sie den Befehl "npm install -g typescript" in Ihrem Terminal oder Ihrer Kommandozeile. Die Konfiguration erfolgt durch die Erstellung einer tsconfig.json Datei im Wurzelverzeichnis Ihres Projekts, in der Sie die gewünschten Compiler-Optionen angeben können.
    Erklärung speichern

    Teste dein Wissen mit Multiple-Choice-Karteikarten

    Wie funktioniert der Typescript-Compiler?

    Was ist Typescript und wie funktioniert es?

    Was sind zwei Vorteile von Typescript?

    Weiter

    Entdecke Lernmaterialien mit der kostenlosen StudySmarter App

    Kostenlos anmelden
    1
    Über StudySmarter

    StudySmarter ist ein weltweit anerkanntes Bildungstechnologie-Unternehmen, das eine ganzheitliche Lernplattform für Schüler und Studenten aller Altersstufen und Bildungsniveaus bietet. Unsere Plattform unterstützt das Lernen in einer breiten Palette von Fächern, einschließlich MINT, Sozialwissenschaften und Sprachen, und hilft den Schülern auch, weltweit verschiedene Tests und Prüfungen wie GCSE, A Level, SAT, ACT, Abitur und mehr erfolgreich zu meistern. Wir bieten eine umfangreiche Bibliothek von Lernmaterialien, einschließlich interaktiver Karteikarten, umfassender Lehrbuchlösungen und detaillierter Erklärungen. Die fortschrittliche Technologie und Werkzeuge, die wir zur Verfügung stellen, helfen Schülern, ihre eigenen Lernmaterialien zu erstellen. Die Inhalte von StudySmarter sind nicht nur von Experten geprüft, sondern werden auch regelmäßig aktualisiert, um Genauigkeit und Relevanz zu gewährleisten.

    Erfahre mehr
    StudySmarter Redaktionsteam

    Team Informatik Lehrer

    • 14 Minuten Lesezeit
    • Geprüft vom StudySmarter Redaktionsteam
    Erklärung speichern Erklärung speichern

    Lerne jederzeit. Lerne überall. Auf allen Geräten.

    Kostenfrei loslegen

    Melde dich an für Notizen & Bearbeitung. 100% for free.

    Schließ dich über 22 Millionen Schülern und Studierenden an und lerne mit unserer StudySmarter App!

    Die erste Lern-App, die wirklich alles bietet, was du brauchst, um deine Prüfungen an einem Ort zu meistern.

    • Karteikarten & Quizze
    • KI-Lernassistent
    • Lernplaner
    • Probeklausuren
    • Intelligente Notizen
    Schließ dich über 22 Millionen Schülern und Studierenden an und lerne mit unserer StudySmarter App!
    Mit E-Mail registrieren