The result of `1/0`

is `Infinity`

.

`parseInt`

treats its first argument as a string which means first of all `Infinity.toString()`

is called, producing the string `"Infinity"`

. So it works the same as if you asked it to convert `"Infinity"`

in base 19 to decimal.

Here are the digits in base 19 along with their decimal values:

```
Base 19 Base 10 (decimal)
---------------------------
0 0
1 1
2 2
3 3
4 4
5 5
6 6
7 7
8 8
9 9
a 10
b 11
c 12
d 13
e 14
f 15
g 16
h 17
i 18
```

What happens next is that `parseInt`

scans the input `"Infinity"`

to find which part of it can be parsed and stops after accepting the first `I`

(because `n`

is not a valid digit in base 19).

Therefore it behaves as if you called `parseInt("I", 19)`

, which converts to decimal 18 by the table above.