Estoy haciendo un juego simple en JavaScript, pero en la historia necesito que diga el nombre de los jugadores. entonces lo que tengo hasta ahora es:
var name = prompt("what is your name?");
console.log("story" name "story);
¿Cómo hago la segunda línea? o hay otra forma en que podría hacer esto. ¿Es posible tener 2 console.log();en 1 línea en la consola?
javascript
console.log
Bradley McInerney
fuente
fuente

Respuestas:
Luego usa
+para combinar cadenas:console.log("story " + name + " story");fuente
console.logtoma múltiples argumentos, así que solo usa:console.log("story", name, "story");Si el nombre es un
objecto un,arrayentonces usar múltiples argumentos es mejor que la concatenación. Si concatenas unaobjectoarrayen una cadena, simplemente registras el tipo en lugar del contenido de la variable.Pero si el nombre es solo un tipo primitivo, entonces varios argumentos funcionan igual que la concatenación.
fuente
console.log('story %s story',name);%ses el mejor método para concatenar cadenas, ya que no es necesario cambiar primero el tipo de variable. Me pregunto si es lo mismo en JS.Puede utilizar otro método de consola:
let name = prompt("what is your name?"); console.log(`story ${name} story`);fuente
Hay varias formas de consolar la variable dentro de una cadena.
Método 1 :
console.log("story", name, "story");Beneficio: si el nombre es un objeto JSON, no se imprimirá como
"story" [object Object] "story"Método 2:
console.log("story " + name + " story");Método 3: al usar ES6 como se mencionó anteriormente
console.log(`story ${name} story`);Beneficio: Sin necesidad de extra, o +
Método 4:
console.log('story %s story',name);Beneficio: la cadena se vuelve más legible.
fuente
Al usar ES6 también puede hacer esto:
var name = prompt("what is your name?"); console.log(`story ${name} story`);Nota: Necesita usar comillas invertidas `en lugar de '' o '' para hacerlo así.
fuente
Puede pasar varios argumentos para registrar:
console.log("story", name, "story");fuente
%jfunciona solo para Node.js.%jconvierte un valor en una cadena JSON y lo inserta.console.log('%j new messages for', 7, 'john') // 7 new messages for johnMás sustituciones de cadenas aquí:
Documentos:
fuente
Depende de lo que quieras.
console.log("story "+name+" story")se concatenar las cadenas juntas e imprimir eso. Para mí, utilizo esto porque es más fácil ver lo que está sucediendo.El uso
console.log("story",name,"story")es similar a la concatenación, sin embargo, parece ejecutar algo como esto:var text = ["story", name, "story"]; console.log(text.join(" "));Esto es juntar todos los elementos de la matriz, separados por un espacio:
.join(" ")fuente
Ambos
console.log("story" + name + "story")yconsole.log("story", name, "story")funcionan bien como se mencionó en respuestas anteriores.Todavía sugeriré tener el hábito de
console.log("story", name, "story"), porque, si intenta imprimir el contenido del objeto, como el objeto json,"story" + objectVariable + "story"lo convertirá en una cadena.Esto tendrá una salida como:
"story" [object Object] "story".Solo una buena práctica.
fuente
También puede usar el estilo printf para formatear argumentos. Está disponible en al menos Chrome, Firefox / Firebug y node.js.
var name = prompt("what is your name?"); console.log("story %s story", name);También es compatible con% d para formatear números.
fuente
Puede usar la barra invertida para incluir tanto la historia como el nombre de los jugadores en una línea.
var name = prompt ("¿cuál es tu nombre?"); console.log ("historia" \ nombre \ "historia");
fuente