microsoft / microsoft/TypeScript

Provide refactor to convert `[].forEach` to `for`/`for of` (And convert back)

Offen
#44,162 3 Kommentare 1 Reaktion 0 zugewiesene Personen Auf GitHub ansehen

Dieses Issue hat noch niemand übernommen.

Awaiting More Feedback Suggestion
Vorherrschende Sprache
Go
Sterne
111k
Forks
14.3k
Ø Merge
1 T. 19 Std.
Gemergte PRs (30 T.)
117

Beschreibung

Suggestion

🔍 Search Terms

refactor, iterator, for

List of keywords you searched for before creating this issue. Write them down here so that others can find this suggestion more easily and help provide feedback.

✅ Viability Checklist

My suggestion meets these guidelines:

  • This wouldn't be a breaking change in existing TypeScript/JavaScript code
  • This wouldn't change the runtime behavior of existing JavaScript code
  • This could be implemented without emitting different JS based on the types of the expressions
  • This isn't a runtime feature (e.g. library functionality, non-ECMAScript syntax with JavaScript output, new syntax sugar for JS, etc.)
  • This feature would agree with the rest of TypeScript's Design Goals.

⭐ Suggestion

Provide refactor to convert [].forEach to for/for of (And convert back)

📃 Motivating Example

[].forEach((value, index) => {
  console.log(value, index)
})

// to

var arr = []
for (let index = 0; index < arr.length, index++) {
  let value = arr[index]

  console.log(value, index)
}


// or

for (let index of []) {
 console.log(value) // disallow index here
}

💻 Use Cases

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

Es werden keine Repository-Dateien, Tests oder Einstiegspunkte genannt; beginne damit, den Vorschlag und seine Beispiele zu prüfen. Kläre die unterstützten Konvertierungen, den Umfang und das Verhalten, bevor du den relevanten TypeScript-Refactoring-Einstiegspunkt ausfindig machst. Als erledigt gilt die Arbeit, wenn ein abgestimmter Vorschlag mit Abdeckung für beide Konvertierungsrichtungen vorliegt.

Vom Indexierungsmodell aus dem Issue-Text verfasst.

Bewertung

Tech-Stack
javascript, typescript
Bereich
tooling
Issue-Typ
Feature
Schwierigkeit
5/5
Geschätzter Aufwand
Über eine Woche
Aktivitätsstatus
Veraltet
Klarheit
Muss geklärt werden
Anfängerfreundlichkeit
25/100

Neue Issues direkt in Ihr Postfach

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