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.log
toma múltiples argumentos, así que solo usa:console.log("story", name, "story");
Si el nombre es un
object
o un,array
entonces usar múltiples argumentos es mejor que la concatenación. Si concatenas unaobject
oarray
en 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);
%s
es 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
%j
funciona solo para Node.js.%j
convierte un valor en una cadena JSON y lo inserta.console.log('%j new messages for', 7, 'john') // 7 new messages for john
Má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