Maison >interface Web >js tutoriel >Comment JavaScript gère-t-il les nombres commençant par zéro ?

Comment JavaScript gère-t-il les nombres commençant par zéro ?

DDD
DDDoriginal
2024-11-28 04:51:14808parcourir

How Does JavaScript Handle Numbers Starting with Zero?

Nombres commençant par zéro en JavaScript

Préface :

Lorsque les nombres en JavaScript commencent par zéro, cela peut prêter à confusion comportement. Cet article explore le contexte historique de ce comportement et fournit les meilleures pratiques pour gérer en toute sécurité les premiers chiffres zéro dans le JavaScript moderne.

Le fantôme des nombres octaux :

Dans les versions antérieures de JavaScript, les nombres commençant par des zéros étaient interprétés comme des nombres octaux (base 8), similaires aux nombres avec 0x. Numéro hexadécimal (base 16) du préfixe. Ceci est similaire à la syntaxe de certains autres langages de programmation, mais entraîne souvent une confusion en JavaScript.

Cette interprétation conduit à un comportement étrange, tel que 040 étant interprété comme un nombre octal qui est égal à 32 lorsqu'il est converti en décimal.

Solution :

Pour dissiper cette confusion, ECMAScript 5 rétrograde la syntaxe des nombres octaux en une extension facultative et désactive l'utilisation des zéros non significatifs dans les nombres décimaux en mode strict. ECMAScript 6 introduit des préfixes spéciaux pour les nombres binaires et octaux :

  • Nombres binaires : 0b ou 0B Préfixe
  • Nombres octaux : 0o ou 0O Préfixe

Bonne pratique :

Dans le JavaScript moderne, la meilleure pratique suivante est recommandée pour gérer les nombres commençant par des zéros :

  • Lire les nombres sous forme d'entiers : Convertir des chaînes numériques à l'aide de parseInt() Convertissez en un entier décimal, en vous assurant que les zéros non significatifs ne sont pas interprétés comme des octaux.
  • Utiliser un préfixe binaire ou octal : Si vous devez spécifier explicitement un nombre binaire ou octal, utilisez le préfixe approprié (0b, 0B, 0o ou 0O).
  • Évitez les nombres avec des zéros non significatifs : Si possible, évitez les nombres avec des zéros non significatifs car cela pourrait provoquer une confusion ou un comportement inattendu.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn