Methoden zu Interfaces hinzufügen
Teil des Abschnitts Einführung in TypeScript der JavaScript-Journey von Coddy. Lektion 43 von 73.
Mit TypeScript-Schnittstellen kannst du diese Verhaltensweisen definieren, indem du Methodensignaturen zusammen mit Eigenschaftsdefinitionen einschließt.
Eine Methodensignatur in einem Interface gibt den Namen einer Methode, ihre Parameter und ihren Rückgabetyp an, ohne die tatsächliche Implementierung bereitzustellen. Dadurch wird ein Vertrag erstellt, den jedes Objekt erfüllen muss, das dem Interface entspricht:
interface Person {
name: string;
age: number;
greet(): string; // Method signature
}
let user: Person = {
name: "Alice",
age: 30,
greet() {
return `Hello, I'm ${this.name}`;
}
};Die Methodensignatur greet(): string teilt TypeScript mit, dass jedes Objekt, das die Schnittstelle Person implementiert, über eine greet-Methode verfügen muss, die keine Parameter entgegennimmt und einen String zurückgibt. Die tatsächliche Implementierung kann zwischen verschiedenen Objekten variieren, aber die Signatur muss exakt übereinstimmen.
Aufgabe
EinfachErstelle ein interface namens Calculator mit den folgenden Eigenschaften und Methoden:
brandvom Typstringmodelvom TypstringisScientificvom Typboolean- die Methode
add, die zweinumber-Parameter entgegennimmt und einnumberzurückgibt - die Methode
getInfo, die keine Parameter entgegennimmt und einenstringzurückgibt
Erstelle ein interface namens BankAccount mit den folgenden Eigenschaften und Methoden:
accountNumbervom Typstringbalancevom TypnumberisActivevom Typboolean- die Methode
deposit, die einennumber-Parameter entgegennimmt undvoidzurückgibt - die Methode
getBalance, die keine Parameter entgegennimmt und einnumberzurückgibt
Erstelle mithilfe deiner interfaces die folgenden Variablen:
- Erstelle eine Variable namens
myCalculatorvom TypCalculatormit der Marke"Casio", dem Modell"FX-991EX",isScientificauftruegesetzt, eineradd-Methode, die die Summe ihrer beiden Parameter zurückgibt, und einergetInfo-Methode, die"[brand] [model]"zurückgibt - Erstelle eine Variable namens
savingsAccountvom TypBankAccountmitaccountNumber"SAV-12345",balance1500,isActiveauftruegesetzt, einerdeposit-Methode, die den Parameter zum Kontostand addiert, und einergetBalance-Methode, die den aktuellen Kontostand zurückgibt
Gib die folgenden Ausgaben in separaten Zeilen aus:
- Rufe die Methode
getInfofürmyCalculatorauf und gib das Ergebnis aus - Rufe die Methode
addfürmyCalculatormit den Argumenten15und27auf und gib das Ergebnis aus - Rufe die Methode
getBalancefürsavingsAccountauf und gib das Ergebnis aus - Rufe die Methode
depositfürsavingsAccountmit dem Argument250auf - Rufe die Methode
getBalancefürsavingsAccounterneut auf und gib das Ergebnis aus - Gib die Eigenschaft
isScientificvonmyCalculatoraus
Probier es selbst
// TODO: Schreibe deinen Code hier
// Erstelle das Calculator-Interface mit den erforderlichen Eigenschaften und Methoden
// Erstelle das BankAccount-Interface mit den erforderlichen Eigenschaften und Methoden
// Erstelle die Variable myCalculator vom Typ Calculator
// Erstelle die Variable savingsAccount vom Typ BankAccount
// Gib alle erforderlichen Ausgaben ausDiese Lektion enthält ein kurzes Quiz. Starte die Lektion, um es zu beantworten und deinen Fortschritt zu speichern.
Alle Lektionen in Einführung in TypeScript
1Erste Schritte mit TS
Was ist TypeScript?Warum TypeScript verwenden?Dein erster TypeScript-CodeKompilierungsprozess & FehlerZusammenfassung: Einführung in TS4Arbeiten mit Funktionen
Typisierung von Parametern & RückgabewertenTypisierung von Arrow-FunktionenDer Rückgabetyp 'void'Optionale Parameter mit '?'Standard-ParameterwerteTypisierung von Rest-ParameternDefinieren von FunktionstypenZusammenfassung: Typisierte Funktionen erstellen2Basis-Typen
Basis-Typen: str, num, booleanDer 'any'-Typ: Der NotausgangDer 'unknown'-TypArbeiten mit 'null' & 'undef'Typinferenz in der PraxisExplizite Typ-AnnotationenZusammenfassung: Übung zu Basis-Typen5Typen: Aliase, Unions & Intersections
Typ-Aliase für primitive DatentypenUnion-Typen ('|')Arbeiten mit Union-TypenLiteral-TypenIntersection-Typen ('&')Kombinieren von Typ-AliasenZusammenfassung: Fortgeschrittene Typ-Kombinationen3Datenstruktur: Arrays & Tupel
Typisierte Arrays'readonly'-Modifikator für ArraysWas ist ein Tupel?Deklarieren von und Zugriff auf TupelDestrukturierung von TupelnReadonly-TupelMehrdimensionale typisierte ArraysSpread-Operator mit ArraysZusammenfassung: Arrays und Tupel6Typisierung von Objekten und Interfaces
Inline-Typanmerkungen für ObjekteType-Aliase für ObjekteEinführung in InterfacesInterfaces vs. Type-AliaseOptionale & Readonly-EigenschaftenErweitern von Interfaces und TypenMethoden zu Interfaces hinzufügenZusammenfassung: Objektstrukturen definierenÜbe selbstständig: Online-JavaScript-Compiler