I always thought
Array.at() does that, but apparently it just returns undefined when out of bounds :/
I get that js was a lot about flexibility and recovering from errors, but
Array.at() is relatively new, so I wonder why they went for the same behavior again