Home > Diversos > Bug Javascript

Bug Javascript

Todos que me conhecem sabe que eu simplesmente amo javascript. A maior falha da linguagem (na minha opinião) já foi corrigida com o ajax, que permite o acesso a bancos sem dar o “chato” submit.

Imagine uma linguagem de programação em que você só precisa do bloco de notas e um navegador (coisa que todo computador tem) para fazer as mais incríveis e inimagináveis proezas. Nutro paixão pela linguagem porque aprendi a programar com javascript, nos meus idos de 15 anos (época em que não tinha a menor idéia de como fazer um Borland C rodar, ou um Eclipse por exemplo).

Agora, que javascript não é perfeita ninguém discute. Não vou falar neste artigo no fato da linguagem não exigir declaração das variáveis, utilizar apenas o “var” para qualquer tipo primitivo, que não é segura, etc…

O que vou relatar é um bug assutador da linguagem:

Quanto é 1000.28 – 1000?

Pois é, para o javascript o resultado incrivelmente não é 28!

Ou 0.1 + 0.2?

Não espere um 3 exato!

Faça você mesmo o teste!

<script>
alert(1000.28 - 1000);
alert(0.1 + 0.2);
</script>

O que acontece é que os “números em Javascript são representados internamente com 64 bits e cada número pode ter no máximo 17 dígitos significativos”, palavras de Carlos Brando.

Para mais exempos e explicações, recomendo o blog do Carlos, acessando http://www.nomedojogo.com/2009/08/17/isto-e-um-bug-no-javascript/

Até a próxima!

Diversos

  1. No comments yet.
  1. No trackbacks yet.