Dites que j'ai une chaîne, dont la valeur est déjà un nombre, par ex. var str = "1234"
Maintenant, je veux le convertir en nombre.Pourquoi + str est-il meilleur que str * 1 dans JS pour convertir une chaîne en nombre?
Je l'ai vu deux tours sur Internet à ce jour,
- Utilisez le
+
unaire:var num = +str
- L'opérateur se multiplient
*
:var num = str*1
Je veux savoir que l'on est mieux en général.
Comme je l'ai vu à partir du commentaire de la réponse acceptée ici: Converting Json Results to a Date, il semble que *1
est préférable d'être évité. Est-ce vrai et quelle est la raison?
Pour entier, parseInt() serait mieux –
Le plus unaire est par définition destiné à convertir une valeur à un certain nombre, il est donc plus sémantiquement correct que la multiplication par 1 qui introduit un autre opérande. @EricSo - parseInt() n'est meilleur que si vous voulez spécifiquement ignorer des données non numériques ou des valeurs de décimales dans la chaîne - sinon c'est * pire * que le unaire plus * car * il ignore ces choses. – nnnnnn