Soit tu as besoin d'une fonction qui peut prendre n'importe quoi en entrée, parce qu'en JS un paramètre c'est potentiellement n'importe quoi à n'importe quel moment, et tu veux savoir un truc du genre « est-ce qu'il s'agit d'une représentation d'un entier impair ».
Ou est-ce que tu veux un code qui te dis si un paramètre fourni est impair dans le cas où c'est un entier, et a un comportement dont tu te moques éperdument dans le cas contraire, puisque ton code ne va utiliser cette fonction qu'avec des entiers, et que sinon tu as un bug qui vient d'ailleurs et de toute façon tu es dans les choux.
Auquel cas (x%2)**2==1 est un test qui va fonctionner avec n'importe quelle représentation de nombre et te sortir true s'il s'agit d'un entier naturel ou relatif impair, représentable en interne en javascript.
Et false dans absolument tout les autres cas.
Ou alors tu fais (x&1)==1 qui va te sortir true si la partie entière de ton nombre est impaire, false dans tout les autres cas.
Donc 17.25 est impair ou -5.92 ou encore "231".
Pas besoin d'un module pour utiliser ou pondre un tel code.
Mais tout dépend de ton besoin, et quoi qu'il en soit, savoir si un nombre est impair reste une opération triviale, même en javascript.
Après, faut savoir coder, ce qui n'est pas un prérequis pour faire du JS moderne.
[^] # Re: Ha ouais, quand même...
Posté par Yth (Mastodon) . En réponse au journal Une backdoor vient d’être trouvée dans un paquet npm connu. Évalué à 5.
Ben justement, c'est ce que j'essaye de dire ici.
Soit tu as besoin d'une fonction qui peut prendre n'importe quoi en entrée, parce qu'en JS un paramètre c'est potentiellement n'importe quoi à n'importe quel moment, et tu veux savoir un truc du genre « est-ce qu'il s'agit d'une représentation d'un entier impair ».
Ou est-ce que tu veux un code qui te dis si un paramètre fourni est impair dans le cas où c'est un entier, et a un comportement dont tu te moques éperdument dans le cas contraire, puisque ton code ne va utiliser cette fonction qu'avec des entiers, et que sinon tu as un bug qui vient d'ailleurs et de toute façon tu es dans les choux.
Auquel cas (x%2)**2==1 est un test qui va fonctionner avec n'importe quelle représentation de nombre et te sortir true s'il s'agit d'un entier naturel ou relatif impair, représentable en interne en javascript.
Et false dans absolument tout les autres cas.
Ou alors tu fais (x&1)==1 qui va te sortir true si la partie entière de ton nombre est impaire, false dans tout les autres cas.
Donc 17.25 est impair ou -5.92 ou encore "231".
Pas besoin d'un module pour utiliser ou pondre un tel code.
Mais tout dépend de ton besoin, et quoi qu'il en soit, savoir si un nombre est impair reste une opération triviale, même en javascript.
Après, faut savoir coder, ce qui n'est pas un prérequis pour faire du JS moderne.