microsoft / microsoft/TypeScript

Function apply does not accept `arguments`

Aperta
#57,164 13 commenti 5 reazioni 0 assegnatari Vedi su GitHub

Nessuno ha ancora preso questa issue.

Awaiting More Feedback Suggestion
Lingua principale
Go
Stelle
111k
Fork
14.4k
Merge medio
1g 19h
PR unite (30g)
117

Descrizione

🔎 Search Terms

function arguments apply

🕗 Version & Regression Information

I assume this applies in every version.

⏯ Playground Link

https://tsplay.dev/N9231m

💻 Code
function f() {}

(function () {
	f.apply(null, arguments);
}());
🙁 Actual behavior

arguments errors with Argument of type 'IArguments' is not assignable to parameter of type '[]'.(2345)

🙂 Expected behavior

No error.

Additional information about the issue

f.apply(null, arguments) is a universal idiom for decades, albeit one that's fallen out of favor in lieu of f(...arguments) - and when one needs to set the receiver, f.apply(O, arguments) is the only choice.

Somewhat related to #68307; basically, there should probably be an "arraylike" type that all of arrays and arguments and strings and nodelists can assign to.

Guida per i contributori

Apri la guida per i contributori

Come iniziare

  1. Leggi tutta la issue e poi la guida ai contributi del progetto.
  2. Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
  3. Fai un fork del repository e lavora su un branch.
  4. Apri una pull request che faccia riferimento al numero della issue.

Direzione di ricerca

Inizia dal link a TypeScript Playground, riproduci l'errore nella funzione e nella chiamata a apply mostrate e applica la modifica. Leggi la discussione, inclusa la issue correlata #68307, quindi determina come dovrebbero essere accettati i valori simili ad arguments mantenendo il controllo dei tipi; il lavoro è completo quando l'esempio viene compilato senza l'errore TS2345.

Scritto dal modello di indicizzazione a partire dal testo della issue.

Valutazione

Stack tecnologico
javascript, typescript
Ambito
compilers
Tipo di issue
Bug
Difficoltà
4/5
Tempo stimato
3-5 giorni
Stato di attività
Ferma
Chiarezza
Abbastanza chiara
Idoneità per principianti
35/100

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.