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
js
grow(delta)
grow(delta, value)
Parameters
Return value
The previous length of the table.
Exceptions
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
TypeError
-
Thrown if
value
is not a value of the element type of the table.
Examples
Using grow
The following example creates a new WebAssembly Table instance with an initial size of 2 and a maximum size of 10:
js
const table = new WebAssembly.Table({
element: "anyfunc",
initial: 2,
maximum: 10,
});
Grow the table by 1 element using Table.grow()
:
js
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:
js
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()
:
js
table.grow(4, myObject);
console.log(myObject === table.get(2)); // true
Specifications
Specification |
---|
WebAssembly JavaScript Interface # dom-table-grow |
Browser compatibility
BCD tables only load in the browser