Por que o JavaScript não permite que você chame métodos em números diretamente? [duplicado]

Esta questão já tem uma resposta aqui:

Por que não consigo acessar uma propriedade de um inteiro com um único ponto? 4 respostas

Em Ruby, você pode fazer isso:

3.times { print "Ho! " } # => Ho! Ho! Ho!

Eu tentei fazer isso em JavaScript:

Number.prototype.times = function(fn) {
    for (var i = 0; i < this; i++) {
        fn();
    }
}

Isso funciona:

(3).times(function() { console.log("hi"); });

Isso não

3.times(function() { console.log("hi"); });

O Chrome me dá um erro de sintaxe: "Token inesperado ILLEGAL". Por quê?

questionAnswers(1)

yourAnswerToTheQuestion