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
grow(delta)
grow(delta, value)
Paramètres
delta-
Le nombre d'éléments qu'on souhaite ajouter au tableau.
valueFacultatif-
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 à
deltadépasse la capacité maximale de l'instance deTable. - Si le client n'a pas assez de mémoire pour l'allocation.
- Si la taille actuelle additionnée à
TypeError-
Levée si
valuen'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 :
const tableau = new WebAssembly.Table({
element: "anyfunc",
initial: 2,
maximum: 10,
});
On agrandit le tableau d'un élément en utilisant Table.grow() :
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 :
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() :
tableau.grow(4, monObjet);
console.log(monObjet === tableau.get(2)); // true
Spécifications
| Spécification |
|---|
| WebAssembly JavaScript Interface> # dom-table-grow> |