microsoft / microsoft/TypeScript

Give `{}` some other type than `{}` so it doesn't cause subtype reduction problems with primitives

Offen
#37,931 0 Kommentare 0 Reaktionen 0 zugewiesene Personen Auf GitHub ansehen

Dieses Issue hat noch niemand übernommen.

Needs Proposal Suggestion
Vorherrschende Sprache
Go
Sterne
111k
Forks
14.4k
Ø Merge
1 T. 19 Std.
Gemergte PRs (30 T.)
117

Beschreibung

TypeScript Version: 3.9.0-beta

Search Terms:
Array
Code

let a = [{a:1},1,2,3] // OK, Expected (number | { a: number; })[]
let b = [{},1,2,3] // Error,  Expected: `({}|1)[]` Actual: `{}[]`

Playground Link:

Playground Link

Related Issues:

Beitragsleitfaden

Beitragsleitfaden öffnen

Erste Schritte

  1. Lies das ganze Issue und danach den Beitragsleitfaden des Projekts.
  2. Schreib ins Issue, dass du es übernimmst — das erspart doppelte Arbeit.
  3. Forke das Repository und arbeite in einem Branch.
  4. Öffne einen Pull Request, der die Issue-Nummer nennt.

Rechercherichtung

Beginnen Sie mit dem TypeScript 3.9.0-beta Playground-Link und reproduzieren Sie die beiden Array-Literal-Beispiele. Untersuchen Sie, wie der Typprüfer {} zusammen mit primitiven Elementen ableitet; als erledigt gilt die Aufgabe, wenn das zweite Beispiel den erwarteten Union-Typ beibehält, anstatt auf {}[] reduziert zu werden.

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
Größtenteils klar
Anfängerfreundlichkeit
35/100

Neue Issues direkt in Ihr Postfach

Eine kurze Übersicht über anfängerfreundliche GitHub-Issues.