Arrays are objects that use the Array.prototype instead of the Object.prototype to give them some helpful methods like length, push, and pop, etc. Additionally it has some special behavior where the length property is auto updated. Indexes are converted to strings and used as names for retrieving values.
No need to provide a length or type when creating an array because the array doesn’t need to be initialized with a size when you create an array. You can just say
const a = 
Very efficient for sparse arrays. However lots of people more commonly use dense arrays.
We don’t have to worry about out of bounds errors. This is because it is not really an array, it is more of a hash table with special properties and functions. If the “index” is not in the array you just get an undefined value back.
1 2 3 const a =  a = 'foo' console.log(a.length) // this will output 43 even thought you would expect 1
How I learned this
At the end of the book there is a page about the animal on the cover of the book. It is a Plain Tiger butterfly and here is a little description about it
While the Plain Tiger’s beauty is part of its charm, its looks can also be deadly. During its larval stages, the butterfly ingests alkaloids that are poisonous to birds—its main predator—which are often attracted to the insect’s markings. After ingesting the Plain Tiger, a bird will vomit repeatedly—occasionally fatally. If the bird lives, it will let other birds know to avoid the insect, which can also be recognized by its leisurely, meandering pattern of flying low to the earth.