TypeScript-Problem beim Iterieren über Objekteigenschaften

TypeScript-Problem beim Iterieren über Objekteigenschaften

1. Problem

Beispielsweise der folgende Code:

Typ Tier = {
    Name: Zeichenfolge;
    Alter: Anzahl
}

const Tier:Tier={
    Name:"Hund",
    Alter:12
}

Funktionstest (Objekt: Tier) {
    für (lass k in obj) {
        Konsole.log(Objekt[k]). //Fehler hier}
}
Test (Tier)

Fehler:

2. Lösung

1. Deklarieren Sie das Objekt als beliebiges

Funktionstest (Objekt: Tier) {
    für (lass k in obj) {
        console.log((obj as any)[k]) //Kein Fehler}
}


Diese Methode umgeht direkt den typescript Verifizierungsmechanismus

2. Deklarieren Sie eine Schnittstelle für das Objekt

Typ Tier = {
    Name: Zeichenfolge;
    Alter: Anzahl;
    [Schlüssel: Zeichenfolge]: beliebig
}

const Tier:Tier={
    Name:"Hund",
    Alter:12
}

Funktionstest (Objekt: Tier) {
    für (lass k in obj) {
        console.log(obj [k]) //Kein Fehler}
}
Test (Tier)

Dies kann für allgemeinere Objekttypen verwendet werden, insbesondere für einige Werkzeugmethoden.

3. Verwenden Sie Generika

Funktionstest<T erweitert Objekt>(Objekt:T) {
    für (lass k in obj) {
        console.log(obj [k]) //Kein Fehler}
}

4. Verwenden Sie keyof

Funktionstest (Objekt: Tier) {
    lass k: (Schlüssel des Tiers);
    für (k in obj) {
        console.log(obj [k]) //Kein Fehler}
}

Dies ist das Ende dieses Artikels über TypeScript, das Objekteigenschaften durchläuft. Weitere Informationen über TypeScript, das Objekteigenschaften durchläuft, finden Sie in früheren Artikeln auf 123WORDPRESS.COM oder in den folgenden verwandten Artikeln. Ich hoffe, Sie werden 123WORDPRESS.COM auch in Zukunft unterstützen!

Das könnte Sie auch interessieren:
  • Grundlagen und Beispiele zur TypeScript-Aufzählung
  • Ausführliche Lektüre und Übungsaufzeichnungen zu bedingten Typen in TypeScript
  • Typescript+React zum Erzielen einfacher Drag-and-Drop-Effekte auf Mobilgeräten und PCs

<<:  Einige Dinge, die beim Erstellen einer Webseite zu beachten sind

>>:  Das Hintergrundbild der Tabelleneinstellung kann nicht zu 100 % angezeigt werden. Lösung

Artikel empfehlen

Tutorial zur Installation von VMWare15.5 unter Linux

Um VMWare unter Linux zu installieren, müssen Sie...

Eine kurze Erläuterung der MySQL-Benutzerberechtigungstabelle

MySQL erstellt bei der Installation automatisch e...

Einfache Implementierungsmethode der Vue3-Quellcodeanalyse

Inhaltsverzeichnis Vorwort 🍹Vorbereitung 🍲vue3-Nu...

MySQL 1130-Ausnahme, Remote-Anmeldung nicht möglich – Lösung

Inhaltsverzeichnis Frage: 1. Aktivieren Sie die B...

17 JavaScript-Einzeiler

Inhaltsverzeichnis 1. DOM & BOM bezogen 1. Üb...

Detaillierte Erklärung zum MySQL-Dateispeicher

Was ist ein Dateisystem Wir wissen, dass Speicher...

Beste Möglichkeit, den Schlüssel im JSON-Objekt zu ersetzen

JSON (JavaScript Object Notation, JS Object Notat...

Nginx leitet dynamisch an Upstream weiter, entsprechend dem Pfad in der URL

In Nginx gibt es einige erweiterte Szenarien, in ...

Schritte zur Methode „Mysql-Abfragedatenbankkapazität“

Abfrage der Gesamtgröße aller Datenbanken So geht...

Tutorial zur HTML-Tabellenauszeichnung (4): Rahmenfarbenattribut BORDERCOLOR

Um die Tabelle zu verschönern, können Sie untersc...

So machen Sie React-Komponenten im Vollbildmodus

einführen Dieser Artikel basiert auf React + antd...

Analysieren von AB-Leistungstestergebnissen unter Apache

Ich habe immer Loadrunner für Leistungstests verw...