WebAssembly.Table.prototype.grow()
The grow()
prototype method of the WebAssembly.Table
object increases the size of the Table
instance by a specified number of elements, filled with the provided value.
Syntax
grow(delta)
grow(delta, value)
Parameters
delta
- : The number of elements you want to grow the table by.
value
{{optional_inline}}
- : The element to fill the newly-allocated space with.
Return value
The previous length of the table.
Exceptions
{{jsxref("RangeError")}}
- : Thrown in one of the following cases:
- If the current size added with
delta
exceeds the Table instance’s maximum size capacity. - If the client doesn’t have enough memory for the allocation.
- If the current size added with
- : Thrown in one of the following cases:
{{jsxref("TypeError")}}
- : Thrown if
value
is not a value of the element type of the table.
- : Thrown if
Examples
Using grow
The following example creates a new WebAssembly Table instance with an initial size of 2 and a maximum size of 10:
const table = new WebAssembly.Table({
element: "anyfunc",
initial: 2,
maximum: 10,
});
Grow the table by 1 element using Table.grow()
:
console.log(table.length); // 2
table.grow(1);
console.log(table.length); // 3
Using grow with a value
The following example creates a new WebAssembly Table
instance with an initial size of
0 and a maximum size of 4, filling it with an object:
const myObject = { hello: "world" };
const table = new WebAssembly.Table({
element: "externref",
initial: 0,
maximum: 4,
});
Grow the table by 4 units and fill it with a value using WebAssembly.grow()
:
table.grow(4, myObject);
console.log(myObject === table.get(2)); // true
Specifications
{{Specifications}}
Browser compatibility
{{Compat}}