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 respostasEm 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ê?