Array.prototype.includes(searchElement) Argumenttypisierung und Array-Elementkompatibilität
TypeScript erzwingt strenge Typisierungsregeln für Array-Operationen, einschließlich des Arrays .prototype.includes()-Methode. Diese Methode vergleicht Suchelemente mit Array-Elementen, um die Einbeziehung zu bestimmen. Allerdings kann die strenge Eingabeanforderung für Suchelemente, die mit dem Typ von Array-Elementen übereinstimmen, manchmal Fragen aufwerfen.
Problembeschreibung
Ein Benutzer hat einen Datentyp „AllowedChars“ definiert, der Zeichen darstellt 'x', 'y', 'z'. Mit diesem Typ wurde ein Array exampleArr erstellt. Beim Versuch, mit der Methode Array.prototype.includes() zu prüfen, ob sich ein Tastaturereignis-Tastendruck im Array befand, beschwerte sich der TypeScript-Compiler jedoch darüber, dass der Argumenttyp „string“ nicht dem Typ AllowedChars zugewiesen werden konnte.
Warum ist die Argumenttypisierung mit dem Array-Elementtyp verknüpft?
Das Argument von Array.prototype.includes() ist das Suchelement, das mit den Array-Elementen verglichen wird. TypeScript erwartet aus folgenden Gründen, dass dieses Argument mit dem Typ der Array-Elemente übereinstimmt:
Auflösungsoptionen
Um dieses Typisierungsproblem anzugehen, gibt es mehrere Ansätze:
Das obige ist der detaillierte Inhalt vonHier sind einige Titeloptionen unter Berücksichtigung des Frageformats und des Fokus des Artikels: Kurz und konzentriert: * Warum beschwert sich TypeScript über die Eingabe von Argumenten in Array.includes() mit Allowed?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!