We'll use that fact later. Array.apply(null, [undefined, undefined, undefined]) is equivalent to Array(undefined, undefined, undefined), which produces a three-element array and assigns undefined to each element. How can you generalize that to N elements? Consider how Array() works, which goes something like this:
The third way of initializing is useful when you declare an array first and then initialize it, pass an array as a function argument, or return an array. The explicit type is required.
The array structure has stricter rules than a list or np.array, and this can reduce errors and make debugging easier, especially when working with numerical data.
The OP was asking 'Array.size () vs Array.length'. From the previous discussions, it was make clear, that the 'size' Function is not part of standard JavaScript but implemented by libraries.
For storage purposes, both numpy array and array.array are comparable. Here is the code for benchmark for both comparing storage size of unsigned integer of 4 bytes.
The array.array type, on the other hand, is just a thin wrapper on C arrays. It can hold only homogeneous data (that is to say, all of the same type) and so it uses only sizeof(one object) * length bytes of memory. Mostly, you should use it when you need to expose a C array to an extension or a system call (for example, ioctl or fctnl).
T myArray[ARRAY_SIZE] = {}; i.e. just an empty pair of {}. This will default-initialize an array of any type (assuming the elements allow default initialization), which means that for basic (scalar) types the entire array will be properly zero-initialized.