BigNumber et r..e : jouer avec les grands nombres et manipuler des intervalles
Node s'enrichit de deux nouveaux modules.

Node.js est une plate-forme construite sur le moteur JavaScript V8 de Chrome. Il vous permet d'écrire du JavaScript côté serveur. Plusieurs contributeurs proposent des modules pour faciliter la programmation. Nous allons parler de BigNumber et r..e.

BigNumber

Cette bibliothèque permet d'obtenir une précision arbitraire sur les opérations arithmétiques avec des nombres décimaux et non décimaux.

Il fonctionne dans Node, sur les navigateurs et est disponible en tant que module AMD. Il est livré avec des tests et leur évaluation. Le but était d'écrire quelque chose de plus rapide et plus facile à utiliser que les versions JavaScript de BigDecimal du Java.

Les objets créés avec BigNumber se comportent comme le type Number. On y trouve notamment les méthodes toExponential, toFixed, toPrecision et toString.

Son créateur, Michael Mclaughlin, a essayé de pallier au problème connu par bigdecimal, une autre bibliothèque qui joue avec les grands nombres. Il propose donc une alternative plus performante.


r..e

Ce n'est pas le titre d'un film préhistorique, c'est en fait le nom d'un module permettant de manipuler des intervalles, des range dont une des syntaxe est début..fin.

Les plages sont spécifiées comme arguments distincts ou comme des chaînes de caractères. La valeur de retour est un tableau. La fonction range prend comme premier argument la valeur de départ et comme second argument la valeur d'arrivée. Voici un exemple :

Code javascript : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
range(1, 3).toArray();
range('1..3').toArray();
// [1, 2, 3]
 
range('a', 'c').toArray();
// ['a', 'b', 'c']

Les "pas" sont également pris en charge en tant que troisième paramètre :

Code javascript : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
range(0, 10, 5).toArray();
// => [0, 5, 10]

Mais ce n'est pas tout, il y a également des méthodes permettant d'interroger un intervalle. Citons include qui vérifie la présence d'une valeur dans l'intervalle, each qui exécute une action pour chaque valeur de l'intervalle, join qui concatène les valeurs de l'intervalle avec un séparateur, min qui donne la valeur minimale de l'intervalle, etc.


La page de BigNumber.
La page de r..e.

Source : d'après un article sur DailyJS.