Почему передача 0 в основание синтаксического анализа в Javascript возвращает десятичные значения?

#javascript #ecmascript-6

Вопрос:

Рассмотрим следующее выражение

 console.log( 'result: '   parseInt("1", 0) ) 

Он возвращает 1 в консоли chrome (в основном возвращает десятичное значение).

В документах MDN для синтаксического анализа говорится

Или NaN, когда радиус меньше 2 или больше 36 …

Было бы здорово, если бы кто-нибудь мог дать объяснение этому.

Заранее спасибо.

Ответ №1:

MDN обобщает спецификацию и не является полной.

Фактическая спецификация гласит:

Если число равно undefined или 0, предполагается , что оно равно 10, за исключением случаев, когда число начинается с пары единиц кода 0x или 0X , в этом случае предполагается число 16.

Комментарии:

1. Спасибо. Я также нашел аналогичный ответ здесь -> > developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/… Оказывается, мне пришлось читать дальше. лол.