microsoft / microsoft/TypeScript
concat arrays
Dieses Issue hat noch niemand übernommen.
- Vorherrschende Sprache
- Go
- Sterne
- 111k
- Forks
- 14.4k
- Ø Merge
- 1 T. 19 Std.
- Gemergte PRs (30 T.)
- 117
Beschreibung
TypeScript Version: 4.1.2 & Nightly 4.2
Search Terms: concat, spread
Code
type First = [number, string];
type Second = [string, string];
type Result = [...First, ...Second];
function concat (first: First, second: Second): Result {
return first.concat(second); // error
}
function spread (first: First, second: Second): Result {
return [...first, ...second]; // ok
}
Expected behavior: concat function works similarly to spread function without an error.
Actual behavior: Type '(string | number)[]' is not assignable to type '[number, string, string, string]'.
Target requires 4 element(s) but source may have fewer.(2322)
Playground Link:
playground
Related Issues: https://github.com/microsoft/TypeScript/issues/36554
Beitragsleitfaden
Erste Schritte
- Lies das ganze Issue und danach den Beitragsleitfaden des Projekts.
- Schreib ins Issue, dass du es übernimmst — das erspart doppelte Arbeit.
- Forke das Repository und arbeite in einem Branch.
- Öffne einen Pull Request, der die Issue-Nummer nennt.
Rechercherichtung
Beginne damit, das Tuple-concat-Beispiel im verlinkten TypeScript-Playground nachzustellen und mit der Spread-Version zu vergleichen. Verfolge das Compilerverhalten für Array.concat bei Tupeltypen; abgeschlossen ist die Aufgabe, wenn concat mit dem deklarierten Result-Typ akzeptiert wird, ohne die Prüfung der Tupellänge abzuschwächen.
Vom Indexierungsmodell aus dem Issue-Text verfasst.
Bewertung
- Tech-Stack
- typescript
- Bereich
- compilers
- Issue-Typ
- Bug
- Schwierigkeit
- 4/5
- Geschätzter Aufwand
- 3-5 Tage
- Aktivitätsstatus
- Veraltet
- Klarheit
- Klar beschrieben
- Anfängerfreundlichkeit
- 42/100