Séparateurs numériques
Les grands littéraux numériques sont difficiles à analyser rapidement pour l'œil humain, surtout lorsqu'il y a beaucoup de chiffres répétitifs :
1000000000000
1019436871.42
Pour améliorer la lisibilité, une nouvelle fonctionnalité de langage JavaScript permet d'utiliser des underscores comme séparateurs dans les littéraux numériques. Ainsi, cela peut désormais être réécrit en regroupant les chiffres par mille, par exemple :
1_000_000_000_000
1_019_436_871.42
Il est désormais plus facile de voir que le premier nombre est un trillion, et que le second est de l'ordre de 1 milliard.
Les séparateurs numériques aident à améliorer la lisibilité pour tous types de littéraux numériques :
// Un littéral entier décimal avec ses chiffres regroupés par mille :
1_000_000_000_000
// Un littéral décimal avec ses chiffres regroupés par mille :
1_000_000.220_720
// Un littéral entier binaire avec ses bits regroupés par octet :
0b01010110_00111000
// Un littéral entier binaire avec ses bits regroupés par nibble :
0b0101_0110_0011_1000
// Un littéral entier hexadécimal avec ses chiffres regroupés par byte :
0x40_76_38_6A_73
// Un littéral BigInt avec ses chiffres regroupés par mille :
4_642_473_943_484_686_707n
Ils fonctionnent même pour les littéraux entiers octaux (même si je n'ai pas d'exemple où les séparateurs apportent une valeur pour de tels littéraux) :
// Un séparateur numérique dans un littéral entier octal : 🤷♀️
0o123_456
Notez que JavaScript a également une syntaxe héritée pour les littéraux octaux sans le préfixe explicite 0o
. Par exemple, 017 === 0o17
. Cette syntaxe n'est pas prise en charge en mode strict ou dans les modules, et elle ne devrait pas être utilisée dans du code moderne. En conséquence, les séparateurs numériques ne sont pas pris en charge pour ces littéraux. Utilisez plutôt la syntaxe 0o17
.