Regarding prototypes: see it like classes. props and methods defined in prototypes are existent in every instance of an object like push or pop functions. They are there on every array object.
Do you use the developer console? :-) I would die if I had to work extensively in JavaScript without that.
You can do the console.log(Object.getOwnPropertyNames(Array.prototype)) but also console.table(Object.getOwnPropertyNames(Array.prototype)) is very helpful.