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

js
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.
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:

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

Erhöhen Sie die Tabelle um 1 Element mit Table.grow():

js
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:

js
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():

js
table.grow(4, myObject);
console.log(myObject === table.get(2)); // true

Spezifikationen

Specification
WebAssembly JavaScript Interface
# dom-table-grow

Browser-Kompatibilität

Siehe auch