27 votes

Quelle est la méthode approuvée par JSLint pour convertir un nombre en chaîne?

J'ai toujours converti des nombres en chaînes en y ajoutant une chaîne vide:

var string = 1 + '';

Cependant, JSLint se plaint de cette méthode avec Expected 'String' and instead saw ''''. , et elle a l'air un peu moche.

Y a-t-il une meilleure façon?

22voto

Sean Vieira Points 47080

Je crois que la manière approuvée par JSLint est d'appeler .toString() sur le numéro:

 var stringified = 1..toString();
// Note the use of the double .. to ensure the the interpreter knows 
// that we are calling the toString method on a number -- 
// not courting a syntax error.
// You could also theoretically call 1["toString"];
 

8voto

nnnnnn Points 70578

(Désolé, il est possible qu'il aurait été mieux de dire cela comme un commentaire ci-dessus, mais je n'ai pas encore gagné le droit de poster des commentaires, donc...)

Rappelez-vous que jslint n'est pas seulement de valider que votre JavaScript, exécutez, c'est tenter d'imposer le style de codage dans le but de vous aider à produire plus lisible et maintenable code.

Donc, 1 + '' fonctionne, mais n'est pas nécessairement le plus lisible option pour tout le monde, tout le cast explicite les options (voir les autres réponses) doit être lisible pour tout le monde. Bien sûr, si personne d'autre ne verront jamais votre code vous avez seulement besoin de s'inquiéter de savoir si vous serez en mesure de le comprendre, si vous reviendrons le mois prochain, ou l'année prochaine...

N'oubliez pas que les deux instructions suivantes ne produisent pas le même résultat:

var s1 = 1 + 3 + ''; // gives '4'
var s2 = '' + 1 + 3; // gives '13'

Je suppose 1 + '' est juste une simplification de discussion cependant, pourquoi ne pas simplement utiliser '1' à la première place?

3voto

KushalP Points 3280

Vous pouvez utiliser la méthode .toString() comme ceci:

 var num = 1;
var str = num.toString();
 

2voto

Rudie Points 8975

Il y a aussi (au moins dans Chrome): String(1) sans new .

 var n = 1, s = String(n);
 

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X