TypeScript bietet ein robustes Typsystem, aber bestimmte Typen können verwirrend sein, nämlich „any“, „unknown“ und „never“. Lassen Sie uns sie zum besseren Verständnis aufschlüsseln.
Der Typ „any“ ist der einfachste der drei. Im Wesentlichen wird die Typprüfung deaktiviert, sodass eine Variable jede Art von Wert enthalten kann. Zum Beispiel:
let value: any; value = 42; // number value = "Hello"; // string value = [1, 2, 3]; // array value = () => {}; // function value = { key: "val" }; // object value = new Date(); // date
In all diesen Fällen löst TypeScript keine Fehler aus, sodass wir jede Operation an der Variablen ohne Typbeschränkungen ausführen können. Dies kann bei der Migration eines JavaScript-Projekts zu TypeScript nützlich sein. Wenn Sie sich jedoch auf „any“ verlassen, werden die Vorteile der Typsicherheit zunichte gemacht, sodass sie in den meisten Fällen eine schlechte Wahl ist. Erwägen Sie stattdessen die Verwendung von „unknown“.
Der unbekannte Typ ist sicherer als jeder andere, da vor der Ausführung von Vorgängen Typprüfungen erforderlich sind. Es stellt die Menge aller möglichen Werte dar, jedoch mit erzwungener Typsicherheit.
let value: unknown; value = 42; value = "Hello"; // To perform operations, we need to narrow down the type if (typeof value === "number") { console.log(value 1); // TypeScript knows value is a number here }
Die Verwendung von „unknown“ ist für Funktionen von Vorteil, die jede Art von Eingabe akzeptieren, wie z. B. Protokollierungsfunktionen, da dadurch Typprüfungen erzwungen werden, bevor mit Vorgängen fortgefahren wird.
Der Typ „never“ stellt die leere Menge von Werten dar und gibt an, dass etwas niemals passieren sollte. Einem Never-Typ kann kein Wert zugewiesen werden, was ihn für umfassende Prüfungen und die Darstellung von nicht erreichbarem Code nützlich macht.
type User = { type: "admin" } | { type: "standard" }; function handleUser(user: User) { switch (user.type) { case "admin": // handle admin break; case "standard": // handle standard break; default: const _exhaustiveCheck: never = user; // This ensures all cases are handled } }
Wenn ein neuer Benutzertyp hinzugefügt wird, löst TypeScript einen Fehler aus und stellt so sicher, dass alle Fälle berücksichtigt werden, was für die Aufrechterhaltung umfassender Prüfungen in Ihrem Code von unschätzbarem Wert ist.
Das Verständnis von „any“, „unknown“ und „never“ erhöht die Typsicherheit von TypeScript. Verwenden Sie „any“ sparsam, bevorzugen Sie „unknown“ für sicherere Typprüfungen und nutzen Sie „nie“ für umfassende Prüfungen und nicht erreichbaren Code. Diese Typen machen TypeScript bei richtiger Verwendung zu einem leistungsstarken Werkzeug zum Erstellen zuverlässiger Anwendungen.
Viel Spaß beim Codieren!
Haftungsausschluss: Alle bereitgestellten Ressourcen stammen teilweise aus dem Internet. Wenn eine Verletzung Ihres Urheberrechts oder anderer Rechte und Interessen vorliegt, erläutern Sie bitte die detaillierten Gründe und legen Sie einen Nachweis des Urheberrechts oder Ihrer Rechte und Interessen vor und senden Sie ihn dann an die E-Mail-Adresse: [email protected] Wir werden die Angelegenheit so schnell wie möglich für Sie erledigen.
Copyright© 2022 湘ICP备2022001581号-3