microsoft / microsoft/TypeScript

Cannot use Array.prototype.push.apply with NodeList, even though it works properly in all browsers.

Ouverte
#39,312 1 commentaire 0 réactions 0 personnes assignées Voir sur GitHub

Personne n'a encore pris cette issue.

Bug Domain: lib.d.ts
Langage dominant
Go
Étoiles
111k
Forks
14.3k
Merge moyen
2 j 4 h
PR mergées (30 j)
132

Description

TypeScript Version: 3.9.x-dev.20200627

Search Terms:
strictBindCallApply NodeList

Code

const bodyChildren = document.body.childNodes;
const arr: Node[] = [];
arr.push.apply(arr, bodyChildren);

Expected behavior:
Doesn't throw errors.

Actual behavior:
Throws errors on line 3: Argument of type 'NodeListOf' is not assignable to parameter of type 'Node[]'.
Type 'NodeListOf' is missing the following properties from type 'Node[]': pop, push, concat, join, and 19 more.

Playground Link:
Playground Link

Related Issues:
Couldn't find any.

Guide de contribution

Ouvrir le guide de contribution

Par où commencer

  1. Lisez l'issue en entier, puis le guide de contribution du projet.
  2. Signalez en commentaire que vous la prenez — cela évite que deux personnes fassent le même travail.
  3. Forkez le dépôt et travaillez sur une branche.
  4. Ouvrez une pull request qui référence le numéro de l'issue.

Piste de recherche

Commencez par le Playground lié et reproduisez l’erreur dans l’extrait TypeScript fourni. Suivez le traitement de strictBindCallApply mentionné dans les termes de recherche, puis vérifiez que Array.prototype.push.apply accepte l’exemple de NodeList sans l’erreur de type signalée.

Rédigé par le modèle d'indexation à partir du texte de l'issue.

Évaluation

Stack technique
typescript
Domaine
compilers
Type d'issue
Bug
Difficulté
3/5
Temps estimé
1-2 jours
Activité
À l'abandon
Clarté
Clairement spécifiée
Accessibilité débutants
42/100

Recevez les nouvelles issues par e-mail

Un résumé court des issues GitHub adaptées aux débutants.