It is not just implemented in this way, it is specified in this way :
15.1.1 Global Object Value Properties
15.1.1.1 NaN
NaN NaN (. 8.5). {[[Writable]]: false, [[Enumerable]]: false, [[Configurable]]: false}.
15.1.1.2 Infinity
Infinity + ∞ (. 8.5). {[[Writable]]: false, [[Enumerable]]: false, [[Configurable]]: false}.
15.1.1.3 undefined
undefined undefined (. 8.1). {[[Writable]]: false, [[Enumerable]]: false, [[Configurable]]: false}.
( - .) , , .: -)
: , , , , - , ...:-) , : Infinity , - , . , . , , ...