Nutzen Sie die Dienstprogrammtypen von TypeScript und profitieren Sie von aussagekräftigerem Code, der auch robuster ist.
TypeScript ist eine Obermenge von JavaScript, mit der Sie Ihrer Codebasis statische Typisierung hinzufügen können. Mit seinem leistungsstarken Typsystem bietet TypeScript eine verbesserte Lesbarkeit des Codes und die Möglichkeit, Fehler während der Kompilierzeit abzufangen.
Einer der vorteilhaftesten Aspekte von TypeScript sind die integrierten Hilfstypen, die Ihre Codierungsanstrengungen vereinfachen und wertvolle Entwicklungszeit sparen können. Werfen Sie einen Blick auf diese unverzichtbaren Typen von TypeScript-Dienstprogrammen, mit denen Sie mühelos typsicheren Code schreiben können.
TypeScripts Mit dem partiellen Utility-Typ können Sie alle Eigenschaften eines Objekts optional machen. Damit können Sie Objekte mit bestimmten Eigenschaften erstellen, die möglicherweise fehlen oder nicht definiert sind. Nimm zum Beispiel:
Schnittstelle Benutzer {
Name: Schnur;
Alter: Nummer;
Email: Schnur;
}
Verwendung der Teilnutzungstyp, können Sie einen neuen Typ mit allen optionalen Eigenschaften der Benutzeroberfläche erstellen:
Typ OptionalUser = Teilweise
Jetzt können Sie eine Instanz des OptionalUser-Typs mit nur einigen definierten Eigenschaften erstellen:
konst Benutzer: OptionalBenutzer = {Name: "John" };
Es kann Situationen geben, in denen Sie ein Objekt mit bestimmten optionalen Eigenschaften erstellen müssen. Dies kann sich als nützlich erweisen besonders beim Formenbau die mehrere Felder haben, da möglicherweise nicht alle erforderlich sind und in solchen Fällen eine partielle Verwendbarkeit von entscheidender Bedeutung sein kann.
Das Pick-Dienstprogramm von TypeScript kann Ihnen dabei helfen, einen neuen Typ zu generieren, indem es nur eine Teilmenge von Eigenschaften aus einem vorhandenen Typ auswählt. Dies ist praktisch, wenn Sie ein größeres Objekt auf nur wenige erforderliche Eigenschaften einschränken müssen oder wenn Sie eine strikte Typisierung der benötigten Eigenschaften erzwingen möchten.
Schnittstelle Benutzer {
Standort: Schnur;
Alter: Nummer;
Email: Schnur;
}Typ PersonOhneE-Mail = Wählen
'Standort' | 'Alter'>;
konst Person: PersonOhneE-Mail = {
Standort: 'USA',
Alter: 30
};
In diesem Beispiel definiert eine Schnittstelle mit dem Namen „Benutzer“ drei Eigenschaften: E-Mail, Alter und Standort.
Durch die Verwendung der Wählen Sie den Versorgungstyp aus, können Sie die Eigenschaften „Standort“ und „Alter“ selektiv aus der Benutzeroberfläche extrahieren, was zur Erstellung eines neuen Typs namens „PersonWithoutEmail“ führt.
Sie können dann eine neue Instanz des Typs „PersonWithoutEmail“ erstellen und nur den Eigenschaften „location“ und „age“ Werte zuweisen. Da bei diesem Typ die Eigenschaft „E-Mail“ weggelassen wurde, können Sie diese dem Objekt nicht zuweisen.
Mit dem Pick-Hilfstyp können Sie einen neuen Typ erstellen, der nur die gewünschten Eigenschaften enthält. Dies kann dazu beitragen, dass Ihr Code besser lesbar und einfacher zu handhaben ist.
Der schreibgeschützte Typ bedeutet, dass die Attribute eines Objekts nach seiner Erstellung unveränderlich sind. Dieser Typ garantiert langfristig die Konsistenz der Daten des Objekts, was zu einer reibungsloseren und sichereren Codeverarbeitung führt.
Schnittstelle Benutzer {
schreibgeschützter Name: Schnur;
schreibgeschütztes Alter: Nummer;
schreibgeschützte E-Mail: Schnur;
}
Verwendung der Schreibgeschützter Hilfstyp, können Sie einen neuen Typ erstellen, bei dem alle Eigenschaften der Benutzeroberfläche als schreibgeschützt gekennzeichnet sind:
Typ ReadonlyUser = Nur lesen
Sie können Eigenschaftswerte angeben, wenn Sie eine ReadonlyUser-Instanz erstellen:
konst Benutzer: ReadonlyUser = {
Name: "John",
Alter: 30,
Email: "[email protected]"
};
Wenn Sie die Eigenschaften eines Objekts als schreibgeschützt markieren, wird der Versuch, die Werte dieser Eigenschaften zu ändern, unmöglich:
benutzer.name = "Jane";
// Fehler: 'Name' kann nicht zugewiesen werden, da es sich um eine schreibgeschützte Eigenschaft handelt.
Der Readonly-Typ ist besonders wichtig in Situationen, in denen Sie sicherstellen möchten, dass sich ein bestimmtes Objekt nicht ändert, egal wie es referenziert wird. Wenn Sie beispielsweise ein Objekt haben, das wichtige Konfigurationseinstellungen enthält, möchten Sie sicherstellen, dass es unverändert bleibt.
Dieser Typ stellt sicher, dass alle wesentlichen Eigenschaften eines Objekts vorhanden sind, während der Teiltyp bietet mehr Flexibilität, indem Sie eine Teilmenge von Eigenschaften angeben können, während Sie die anderen belassen Optional. Dies kann sich in Situationen als vorteilhaft erweisen, in denen einige Eigenschaften möglicherweise nicht erforderlich sind oder sich ändern können.
Schnittstelle Benutzer {
Name: Schnur;
Standort: Nummer;
Adresse: Schnur;
}
Durch die Nutzung der Erforderlicher Versorgungstyp, ist es möglich, einen neuen Typ zu erstellen, der alle Benutzeroberflächenattribute kombiniert und gleichzeitig erfordert, dass jede dieser Eigenschaften vorhanden sein muss. Die Erstellung einer RequiredUser-Instanz ist nur möglich, wenn alle ihre Eigenschaften ordnungsgemäß festgelegt wurden.
konst Benutzer: Erforderlicher Benutzer = {
Name: "John Doe",
Standort: "USA",
Adresse: "Kansas 9745-0622"
};
Die Verwendung des Utility-Typs „Erforderlich“ stellt sicher, dass alle erforderlichen Eigenschaften in einem Objekt vorhanden sind.
Mit dem Dienstprogrammtyp „Auslassen“ können Sie einen neuen Typ erstellen, indem Sie bestimmte Eigenschaften aus einem vorhandenen Typ ausschließen.
Schnittstelle Person {
Standort: Schnur;
Alter: Nummer;
Email: Schnur;
}
Typ PersonWithoutEmail = Auslassen
'Email'>;
konst Person: PersonOhneE-Mail = { Standort: "USA"; Alter: 30 };
Die Personenschnittstelle hat drei Eigenschaften: Alter, Ort und E-Mail. Der Typ PersonWithoutEmail verwendet einen Omit-Hilfstyp, um alle Eigenschaften eines Person-Objekts mit Ausnahme von E-Mail einzuschließen. Sie können dann eine Instanz dieses neuen Typs erstellen, ohne einen Wert für eine E-Mail-Eigenschaft anzugeben.
Sie sollten bedenken, dass der Dienstprogrammtyp „Auslassen“ erhebliche Ähnlichkeiten mit dem Dienstprogrammtyp „Auswählen“ aufweist, da Sie damit einen neuen Typ entwickeln können, der nur die von Ihnen angegebenen Eigenschaften verwendet.
Mit dem Hilfstyp Datensatz können Sie einen Objekttyp definieren, dessen Schlüssel und Werte einen bestimmten Typ haben. Seine Definition ist:
Typ Aufzeichnenerweitert Schlüssel von beliebig, T> = { [S In K]: T;};
Dadurch wird der Typ T mit dem Wert jedes Schlüssels verknüpft, während K eine Vereinigung von Schlüsseln eines beliebigen Typs ist. Der Eigenschaftstyp P des resultierenden Objekts ist auf T gesetzt.
Betrachten Sie das Szenario eines Objekttyps mit Zeichenfolgenschlüsseln und numerischen Werten. In diesem Fall können Sie die anwenden Notieren Sie den Versorgungstyp als:
Typ MeinDatensatz = Datensatz<Schnur, Nummer>;
konst meinObjekt: MeinDatensatz = {
"Foo": 1,
"Bar": 2,
"baz": 3,
}
In diesem Beispiel wird MyRecord als Objekttyp mit Zeichenfolgenschlüsseln und numerischen Werten angegeben. Das myObject-Objekt verkörpert eine Veranschaulichung dieses Typs, wobei die Schlüssel "foo", "bar" und "baz" ihren entsprechenden Werten zugeordnet sind.
Dieser Artikel hat die schiere Macht der TypeScript-Hilfstypen aufgedeckt – sie können ein wertvolles Gut sein, wenn es darum geht, Ihren Code zu rationalisieren und die Entwicklung schneller und effizienter zu gestalten. Diese Dienstprogrammtypen und TypeScript im Allgemeinen können Wunder bewirken, um sicherzustellen, dass Ihr Code immer fehlerfrei ist und bestimmte Strukturen einhält.