web-dev-qa-db-fra.com

Comment puis-je ajouter une variable à console.log?

Je fais un jeu simple en JavaScript mais dans l'histoire, j'ai besoin de dire le nom du joueur. donc ce que j'ai jusqu'à présent c'est:

var name = Prompt("what is your name?");

console.log("story" name "story);

comment je fais la deuxième ligne? ou il y a une autre manière que je pourrais faire ceci. Est-il possible d'avoir 2 console.log(); sur 1 ligne dans la console?

53

Puis utilisez + pour combiner des chaînes:

console.log("story " + name + " story");
60
Joseph

console.log prend plusieurs arguments, utilisez donc simplement:

console.log("story", name, "story");

Si name est une object ou une array, alors utiliser plusieurs arguments est préférable à la concaténation. Si vous concaténez un object ou array dans une chaîne, vous enregistrez simplement le type plutôt que le contenu de la variable.

Mais si name n'est qu'un type primitif, plusieurs arguments fonctionnent de la même manière que la concaténation.

59
Coin_op

Vous pouvez utiliser une autre méthode de la console:

var name = Prompt("what is your name?");
console.log(`story ${name} story`);
30
Sanjib Debnath

En utilisant ES6, vous pouvez aussi faire ceci:

var name = Prompt("what is your name?");
console.log(`story ${name} story`);

Note: Vous devez utiliser les backticks "au lieu de" "ou" pour le faire comme ceci.

17
EinArzt

Il existe plusieurs façons de consoler la variable dans une chaîne.

Méthode 1:

console.log("story", name, "story");

Avantage: si name est un objet JSON, il ne sera pas imprimé en tant que "story" [object Object] "story"

Méthode 2:

console.log("story " + name + " story");

Méthode 3: lors de l'utilisation de ES6 comme mentionné ci-dessus

console.log(`story ${name} story`);

Avantage: pas besoin de supplément, ni de +

Méthode 4:

console.log('story %s story',name);

Avantage: la chaîne devient plus lisible.

17
mannutech

Vous pouvez passer plusieurs arguments pour vous connecter:

console.log("story", name, "story");
6
Lyn Headley

Cela dépend de ce que vous voulez.

console.log("story "+name+" story") va concaténer les chaînes ensemble et les imprimer. Pour moi, je l’utilise parce qu’il est plus facile de voir ce qui se passe.

Utiliser console.log("story",name,"story") est similaire à la concaténation, cependant, il semble fonctionner à peu près comme ceci:

 var text = ["story", name, "story"];
 console.log(text.join(" "));

Cela regroupe tous les éléments du tableau, séparés par un espace: .join(" ")

2
Bluedog111

console.log("story" + name + "story") et console.log("story", name, "story") fonctionnent parfaitement, comme indiqué dans les réponses précédentes.

Je suggérerai tout de même d'avoir l'habitude de console.log("story", name, "story"), car si vous essayez d'imprimer le contenu de l'objet, comme objet json, avoir "story" + objectVariable + "story" le convertira en chaîne.

Cela aura comme sortie: "story" [object Object] "story".

Juste une bonne pratique.

1
Sagar Kulkarni

Vous pouvez également utiliser le style printf des arguments de formatage. Il est disponible au moins dans Chrome, Firefox/Firebug et node.js.

var name = Prompt("what is your name?");

console.log("story %s story", name);

Il prend également en charge% d pour le formatage des nombres

0
Ben Anderson