WebAssembly.Table.prototype.grow()
Baseline Widely available
This feature is well established and works across many devices and browser versions. It’s been available across browsers since October 2017.
Die grow()
Prototypmethode des WebAssembly.Table
Objekts erhöht die Größe der Table
-Instanz um eine angegebene Anzahl von Elementen, die mit dem bereitgestellten Wert gefüllt werden.
Syntax
grow(delta)
grow(delta, value)
Parameter
delta
-
Die Anzahl der Elemente, um die Sie die Tabelle vergrößern möchten.
value
Optional-
Das Element, mit dem der neu zugewiesene Speicherplatz gefüllt werden soll.
Rückgabewert
Die bisherige Länge der Tabelle.
Ausnahmen
RangeError
-
Wird in einem der folgenden Fälle ausgelöst:
- Wenn die aktuelle Größe, addiert mit
delta
, die maximale Kapazität der Table-Instanz überschreitet. - Wenn der Client nicht genügend Speicher für die Zuweisung hat.
- Wenn die aktuelle Größe, addiert mit
TypeError
-
Wird ausgelöst, wenn
value
kein Wert des Elementtyps der Tabelle ist.
Beispiele
Verwendung von grow
Das folgende Beispiel erstellt eine neue WebAssembly Table-Instanz mit einer Anfangsgröße von 2 und einer maximalen Größe von 10:
const table = new WebAssembly.Table({
element: "anyfunc",
initial: 2,
maximum: 10,
});
Erhöhen Sie die Tabelle um 1 Element mit Table.grow()
:
console.log(table.length); // 2
table.grow(1);
console.log(table.length); // 3
Verwendung von grow mit einem Wert
Das folgende Beispiel erstellt eine neue WebAssembly Table
-Instanz mit einer Anfangsgröße von 0 und einer maximalen Größe von 4, die mit einem Objekt gefüllt wird:
const myObject = { hello: "world" };
const table = new WebAssembly.Table({
element: "externref",
initial: 0,
maximum: 4,
});
Erhöhen Sie die Tabelle um 4 Einheiten und füllen Sie sie mit einem Wert mit WebAssembly.grow()
:
table.grow(4, myObject);
console.log(myObject === table.get(2)); // true
Spezifikationen
Specification |
---|
WebAssembly JavaScript Interface # dom-table-grow |