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

Sieben verschiedene Farbschemata für das Website-Design-Erlebnis

Die Farbabstimmung beim Erstellen einer Website i...

So legen Sie die Position des Blockelements in der Mitte des Fensters fest

So legen Sie die Position des Blockelements in de...

Player in Webseite einbetten Einbettungselement Autostart falsch ungültig

Kürzlich musste ich einen Player in eine Webseite ...

So konfigurieren Sie eine JDK-Umgebung unter Linux

1. Gehen Sie zur offiziellen Website, um das JDK-...

Verwendung von MySQL-Triggern

Inhaltsverzeichnis 1. Trigger-Einführung 1. Was i...

Elegantere Verarbeitung von Datumsangaben in JavaScript basierend auf Day.js

Inhaltsverzeichnis Warum day.js verwenden? Moment...

MySQL 8.0 MIT Abfragedetails

Inhaltsverzeichnis Informationen zu WITH-Abfragen...

JavaScript implementiert Informationen zur Kennwortfeldüberprüfung

In diesem Artikelbeispiel wird der spezifische Ja...

Natives JavaScript-Message Board

In diesem Artikel wird der spezifische JavaScript...

CSS: besuchte geheime Erinnerungen des Pseudoklassenselektors

Gestern wollte ich a:visited verwenden, um die Fa...

Detaillierte Erklärung zur Verwendung mehrerer Timer in CocosCreator

1. setTimeOut Drucken Sie abc nach 3 Sekunden. Nu...

Zusammenfassung der Methoden zum Löschen des Cache im Linux-System

1) Einführung in den Cache-Mechanismus Um die Lei...

Detaillierte Erklärung des TS-Objekt-Spread-Operators und des Rest-Operators

Inhaltsverzeichnis Überblick Objektrestattribut E...

Designperspektive Technologie ist ein wichtiges Kapital der Designfähigkeit

Ein Designsoldat fragte: „Kann ich nur reines Des...