Undefined, а Null - два типа, которые имеют только одно значение, имеющее то же имя, что и тип. Но было бы слишком сложно, если бы случай был одинаковым, поэтому они использовали строчные буквы:
NaN имеет этот корпус, потому что это значение IEEE 754-2008 "Не-номер"
Не-номер ⟶ NaN
Infinity может начинаться с верхнего регистра, потому что нет типа под названием Infinity. Я предполагаю, что это также может начаться с нижнего регистра, но, возможно, им нужно что-то похожее на NaN (?)
Ответ 2
Никто не знает.: - (
(Исходный ответ следует)
Чистая спекуляция, но & hellip;
null и undefined - это - это ключевое слово JavaScript s, отражающее различную метатеку "не значение". Все ключевые слова, о которых я знаю, являются строчными буквами (c.f. true, false);
undefined - глобальное свойство, представляющее еще больше метаупаков;
Infinity и NaN - глобальные свойства, отражающие значения дознавателя с плавающей запятой IEEE, и идут прямо (ish) из этой спецификации третьей стороны.
Итак, я могу понять, почему здесь могут участвовать различные условные условные обозначения: яблоки и апельсины.
На мой взгляд, реальный вопрос в том, почему последние два не являются Math.INFINITY и Math.NAN.