I was testing the filter function for an array of objects, but by mistake I defined b as an array of numbers, so I decided to see if the filter function gives me an error if I accessed an invalid property, but unexpectedly it works, and i don't know why, could someone explain to me why it works?
a = {a:5};
b = [1,2,3,4,5];
console.log(b.filter(x => x.z === a.a.z).pop()); // 5