Méthode de conversion : 1. Utilisez l'opérateur "+" combiné avec une chaîne vide, syntaxe "value+''" ; 2. Utilisez la chaîne de modèle, syntaxe "${value}" ; 3. Utilisez "JSON .stringify( value)" ; 4. Utilisez l'instruction "value.toString()" ; 5. Utilisez l'instruction "String(value)".
L'environnement d'exploitation de ce tutoriel : système Windows 7, JavaScript version 1.8.5, ordinateur Dell G3.
Cinq façons de convertir une valeur en chaîne en JavaScript
const value = 12345; // Concat Empty String value + ''; // Template Strings `${value}`; // JSON.stringify JSON.stringify(value); // toString() value.toString(); // String() String(value); // RESULT // '12345'
Comparez 5 façons
D'accord, testons 5 façons avec des valeurs différentes. Voici les variables que nous voulons tester :
const string = "hello"; const number = 123; const boolean = true; const array = [1, "2", 3]; const object = {one: 1 }; const symbolValue = Symbol('123'); const undefinedValue = undefined; const nullValue = null;
Combiné avec la chaîne vide à l'aide de l'opérateur "+"
string + ''; // 'hello' number + ''; // '123' boolean + ''; // 'true' array + ''; // '1,2,3' object + ''; // '[object Object]' undefinedValue + ''; // 'undefined' nullValue + ''; // 'null' // ⚠️ symbolValue + ''; // ❌ TypeError
À partir de là, vous pouvez voir si la valeur Pour un symbole, cette méthode lancera TypeError. Sinon, tout a l'air bien.
Chaîne de modèle
`${string}`; // 'hello' `${number}`; // '123' `${boolean}`; // 'true' `${array}`; // '1,2,3' `${object}`; // '[object Object]' `${undefinedValue}`; // 'undefined' `${nullValue}`; // 'null' // ⚠️ `${symbolValue}`; // ❌ TypeError
Le résultat de l'utilisation d'une chaîne de modèle est fondamentalement le même que celui d'une combinaison avec une chaîne vide. Encore une fois, ce n'est peut-être pas la manière idéale de gérer Symbol car cela générera une TypeError.
Si vous êtes curieux, voici le TypeError : TypeError : Impossible de convertir une valeur de symbole en chaîne
JSON.stringify()
JSON.stringify(string); // '"hello"' JSON.stringify(number); // '123' JSON.stringify(boolean); // 'true' JSON.stringify(array); // '[1,"2",3]' JSON.stringify(object); // '{"one":1}' JSON.stringify(nullValue); // 'null' JSON.stringify(symbolValue); // undefined JSON.stringify(undefinedValue); // undefined
Vous n'utiliserez donc généralement pas JSON.stringify pour convertir une valeur en chaîne. Et il n’y a vraiment aucun forçage ici. Vous connaissez donc tous les outils disponibles. Vous pourrez alors décider quel outil utiliser plutôt que de l'utiliser au cas par cas
Il y a une chose que je tiens à souligner car vous n'y avez peut-être pas prêté attention. Lorsque vous l'utilisez sur une valeur de chaîne réelle, cela la change en chaîne entre guillemets.
.toString()
string.toString(); // 'hello' number.toString(); // '123' boolean.toString(); // 'true' array.toString(); // '1,2,3' object.toString(); // '[object Object]' symbolValue.toString(); // 'Symbol(123)' // ⚠️ undefinedValue.toString(); // ❌ TypeError nullValue.toString(); // ❌ TypeError
Donc PK est en fait entre toString() et String() lorsque vous souhaitez convertir une valeur en chaîne. Tout fonctionne bien sauf qu'il génère une erreur pour undefined et null. Assurez-vous donc d’y prêter attention.
String()
String(string); // 'hello' String(number); // '123' String(boolean); // 'true' String(array); // '1,2,3' String(object); // '[object Object]' String(symbolValue); // 'Symbol(123)' String(undefinedValue); // 'undefined' String(nullValue); // 'null'
Eh bien, je pense que nous avons trouvé un gagnant
Comme vous pouvez le voir, String() gère null et indéfini très bien. Aucune erreur ne sera générée - sauf si c'est ce que vous souhaitez. En général, gardez mes conseils à l’esprit. C’est vous qui connaîtrez le mieux votre candidature, vous devez donc choisir ce qui convient le mieux à votre situation.
Conclusion : String()
Après vous avoir montré comment toutes les différentes méthodes gèrent différents types de valeurs. J'espère que vous comprenez les différences et que vous saurez quels outils utiliser la prochaine fois que vous travaillerez sur du code. Si vous n'êtes pas sûr, String() est toujours un bon choix par défaut
[Apprentissage recommandé : Tutoriel JavaScript avancé]
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!