¿Por qué 019 no es un error de sintaxis de JavaScript? O por qué 019> 020

Si escribo 019 > 020en la consola de JavaScript (probada tanto en Chrome como en Firefox), obtengo la respuestatrue . Esto se debe a que 020se interpreta como OctalIntegerLiteral(igual 16) mientras 019que aparentemente se interpreta como DecimalLiteral(y es igual 19). Como 19es mayor que 16,...