Cette page a été traduite à partir de l'anglais par la communauté. Vous pouvez contribuer en rejoignant la communauté francophone sur MDN Web Docs.

View in English Always switch to English

WebAssembly.Table.prototype.grow()

Baseline Large disponibilité

Cette fonctionnalité est bien établie et fonctionne sur de nombreux appareils et versions de navigateurs. Elle est disponible sur tous les navigateurs depuis octobre 2017.

>

La méthode grow() de l'objet WebAssembly.Table permet d'augmenter la taille de l'instance de Table d'un nombre défini d'éléments, remplis avec la valeur fournie.

Syntaxe

js
grow(delta)
grow(delta, value)

Paramètres

delta

Le nombre d'éléments qu'on souhaite ajouter au tableau.

value Facultatif

L'élément avec lequel remplir l'espace nouvellement alloué.

Valeur de retour

La taille du tableau avant l'agrandissement.

Exceptions

RangeError

Levée dans l'un des cas suivants :

  • Si la taille actuelle additionnée à delta dépasse la capacité maximale de l'instance de Table.
  • Si le client n'a pas assez de mémoire pour l'allocation.
TypeError

Levée si value n'est pas une valeur du type d'élément du tableau

Exemples

>

Utiliser la méthode grow()

L'exemple suivant crée une nouvelle instance du tableau WebAssembly avec une taille initiale de 2 et une taille maximale de 10 :

js
const tableau = new WebAssembly.Table({
  element: "anyfunc",
  initial: 2,
  maximum: 10,
});

On agrandit le tableau d'un élément en utilisant Table.grow() :

js
console.log(tableau.length); // 2
tableau.grow(1);
console.log(tableau.length); // 3

Utiliser grow() avec une valeur

L'exemple suivant crée une nouvelle instance de Table WebAssembly avec une taille initiale de 0 et une taille maximale de 4, en la remplissant avec un objet :

js
const monObjet = { bonjour: "le monde" };

const tableau = new WebAssembly.Table({
  element: "externref",
  initial: 0,
  maximum: 4,
});

On agrandit le tableau de 4 unités et on le remplit avec une valeur en utilisant WebAssembly.grow() :

js
tableau.grow(4, monObjet);
console.log(monObjet === tableau.get(2)); // true

Spécifications

Spécification
WebAssembly JavaScript Interface>
# dom-table-grow>

Compatibilité des navigateurs

Voir aussi