Why? Being able to redefine anything is table stakes in dynamic languages.
You can't assign a value to false,
for example, so "anything" isn't everything (Node v22.17.0).
> false = 4
false = 4
^^^^^
Uncaught SyntaxError: Invalid left-hand side in assignment
Fascinatingly enough though, you can assign a value to NaN. It doesn't stick tho. > NaN
NaN
> NaN = 42
42
> NaN
NaN
>
(map behaves as described.)