📚
Lerndokumentationen
Web
Web
  • Willkommen
  • HTML
    • Was ist HTML?
    • Elemente
    • Attribute
    • Boilerplate
  • Textelemente
  • Links
  • Dokumentenstruktur
  • Medien
  • Tabellen
  • Formulare
  • CSS
    • Was ist CSS?
    • Syntax
  • Einheiten
  • Selektoren
  • Boxmodell
  • Hintergründe und Rahmen
  • Overflow
  • Bilder
  • Formulare
  • Textelemente
  • Layout
    • Flexbox
    • Grid
  • Responsive Design
  • JavaScript
    • Was ist JavaScript?
    • Einbindung in HTML
    • Grundlagen
      • Variablen und Werte
      • Datentypen
      • Operatoren und Ausdrücke
      • Kontrollstrukturen
      • Schleifen
    • Funktionen
      • Funktionsdeklarationen vs. Funktionsausdrücke
      • Arrow Functions
      • Standardparameter und Rest-Parameter
      • First-Class und Higher-Order-Funktionen
      • Closures
      • IIFE (Immediately Invoked Function Expressions)
    • Arrays
      • Erstellen und Modifizieren
      • Iteration über Arrays
      • Sortieren
      • Nützliche Methoden
    • Objekte und Datenstrukturen
      • Erstellen und Manipulieren
      • Destructuring
      • Sets und Maps
    • Strings
      • Template Literals
      • Methoden
    • Moderne JavaScript-Features
      • Optionale Verkettung
      • Nullish Coalescing Operator
      • Spread und Rest Operator
      • Kurzschlussausdrücke
    • Scope und Kontext
      • this Keyword
      • Call, Apply und Bind
      • Hoisting und Temporal Dead Zone (TDZ)
    • Objektorientierte Programmierung
      • Prototypes
      • Constructor Functions
      • ES6 Classes
      • Die create()-Methode
    • Asynchronous JavaScript
      • AJAX
      • Promises
    • Zahlen, Daten, Internationalisierung und Timer
      • Mathematische Operationen
      • Datum und Zeit
      • Internationalisierung
      • Timer
    • Modules
    • JavaScript im Browser (DOM und Events)
      • Das DOM
      • Elemente auswählen, erstellen und manipulieren
      • Styles, Attribute und Klassen
      • Events und Event Listener
      • Event Propagation
        • Event Delegation
      • DOM Traversing
    • JavaScript Engine und Performance
      • Execution Context und Call Stack
  • TypeScript
    • Was ist TypeScript?
  • Compiler und Runtimes
  • Konfiguration
  • Types
    • Primitive Typen und Typableitung
    • Arrays und Tupel
    • Objekte
    • Top- und Bottom-Types
    • Enums
    • Utility Types
      • Records
  • Typenkombination
    • Union Types
    • Discriminated Unions
    • Intersections
  • Funktionen
  • Klassen
    • Grundlagen
    • Feldinitialisierer
    • Schreibgeschützte Felder
    • Implementieren
    • Private und Geschützte Member
    • Getter und Setter
    • Statische Member
    • Abstrakte Klassen und Member
  • Modules
    • Importieren und Exportieren
    • Ambient Types
    • Namespaces
    • Globals
  • React
    • Was ist React?
    • JSX
    • Komponenten
      • Root-Komponente
      • Styling
      • Listen
      • Conditional Rendering
      • Fragments
    • Props
      • Destructuring
      • Children
    • Interaktivität
      • Event Handling
      • State
      • Formulare
    • State Management
      • State anheben
      • Derived State
    • Komposition und Reusability
      • Komponentenstrukturierung
      • Prop Drilling
      • Komposition
Bereitgestellt von GitBook
Auf dieser Seite
  1. Modules

Importieren und Exportieren

Was ist, wenn du einen Typ aus einer anderen Datei verwenden möchtest? Du kannst Typen exportieren und importieren, genau wie du Funktionen oder Variablen exportierst oder importierst.

person.types.ts
export interface Person = {
  name: string;
  age: number;
  email: string;
};

export interface Employee extends Person {
  employeeId: number;
  department: string;
}
main.ts
import { Employee, Person } from "./person.types";

const person: Person = {
  name: "Cory House",
  age: 21,
  email: "cory@example.com",
};

const employee: Employee = {
  name: "Cory House",
  age: 21,
  email: "cory@example.com",
  employeeId: 12345,
  department: "Engineering",
};

Type-Only Imports

Wir haben gerade einen grundlegenden Ansatz für den Import von Typen gesehen. Du kannst auch explizit erklären, dass der importierte Typ ein Typ ist, indem du das Schlüsselwort type verwendest.

import type { Product } from "./types";

Dies ist also explizit - es teilt TypeScript mit, dass Sie einen Typ importieren, nicht einen Wert, so dass TypeScript weiss, dass der Import in der resultierenden JS-Datei nicht notwendig ist. Normalerweise spielt das keine Rolle. TypeScripts Compiler ist in der Regel intelligent genug, um den Import auszulassen, wenn es sich nur um einen Typ handelt. Aber in seltenen Fällen kann eine explizite Angabe wie diese nützlich sein.

Je nach TypeScript-Konfiguration und Anwendungsfall kann ein Type-Only-Import die Leistung verbessern, für Klarheit sorgen und unnötige Abhängigkeiten zur Laufzeit verhindern.

Daher ist es generell empfehlenswert, importierten Typen das Schlüsselwort type voranzustellen.

VorherigeModulesNächsteAmbient Types

Zuletzt aktualisiert vor 17 Tagen