Cómo asignar una cadena multilínea a una variable en JavaScript: análisis para principiantes
\n\n¿Alguna vez has escrito un texto largo en el código y has pensado: «¿No puedo simplemente presionar Enter y continuar en una nueva línea?» Si eres nuevo en JavaScript, lo más probable es que ya te hayas encontrado con esto. Intentas guardar un texto multilínea en una variable y obtienes un error de sintaxis. ¿Te suena?
\n\nLa pregunta «How can I assign a multiline string literal to a variable?» es una de las más populares en Stack Overflow. Miles de desarrolladores buscan la respuesta. Y no es de extrañar: trabajar con cadenas multilínea es una base que todo aquel que escribe en JavaScript debe dominar.
\n\nEn este artículo no solo daremos una respuesta seca. Analizaremos tres formas prácticas, mostraremos ejemplos de la vida real y te indicaremos qué método elegir para que tu código sea limpio, legible y no cause dolores de cabeza.
\n\n¿Por qué JavaScript no acepta saltos de línea entre comillas?
\n\nAclaremos de inmediato el problema principal. Si intentas escribir así:
\n\nlet message = "¡Hola!\n¿Cómo estás?\n¿Todo bien?";\nconsole.log(message);\n\n… obtendrás un error SyntaxError: unterminated string literal. ¿Por qué? Porque en las cadenas normales (entre comillas dobles o simples), JavaScript considera que la cadena termina en la misma línea donde comenzó. El salto de línea rompe físicamente la cadena.
\n\nPero no te preocupes. Tenemos al menos tres formas de sortear esta limitación. Y la primera es la más moderna y cómoda.
\n\nForma 1: Literales de plantilla (Template Literals) — tu nuevo mejor amigo
\n\nA partir de ES6 (ECMAScript 2015), JavaScript incorporó los literales de plantilla. Son cadenas que se encierran entre comillas invertidas (` `). Y resuelven el problema de las cadenas multilínea de una vez por todas.
\n\nMira lo sencillo que es:
\n\nlet multilineString = `Esta es la primera línea.\nEsta es la segunda línea.\nY esta es la tercera línea.`;\n\nconsole.log(multilineString);\n// Salida:\n// Esta es la primera línea.\n// Esta es la segunda línea.\n// Y esta es la tercera línea.\n\nFunciona de inmediato. Simplemente escribes el texto con saltos de línea y JavaScript los conserva tal cual. Sin caracteres adicionales, sin magia.
\n\n¿Por qué es la mejor opción para principiantes?
\n- \n
- Legibilidad: El código se ve exactamente como lo imaginaste. \n
- Soporte de interpolación: Puedes insertar variables directamente en la cadena con
${...}. \n - Estándar: Todos los navegadores modernos y Node.js admiten literales de plantilla. \n
Ejemplo con interpolación:
\n\nlet name = "Ana";\nlet greeting = `¡Hola, ${name}!\nBienvenido a PythonLib.\nHoy es un gran día para aprender código.`;\n\nconsole.log(greeting);\n// Salida:\n// ¡Hola, Ana!\n// Bienvenido a PythonLib.\n// Hoy es un gran día para aprender código.\n\nEsta forma es tan cómoda que en el desarrollo moderno se usa en el 90% de los casos. Si estás empezando, recuerda esta.
\n\nForma 2: Concatenación de cadenas (método antiguo pero fiable)
\n\nAntes de la llegada de los literales de plantilla, los desarrolladores usaban la concatenación: unir cadenas con el operador +. Este método sigue siendo relevante, especialmente si trabajas con código muy antiguo o no puedes usar ES6 por alguna razón.
Así se ve:
\n\nlet multilineString = "Esta es la primera línea.\\n" +\n "Esta es la segunda línea.\\n" +\n "Y esta es la tercera línea.";\n\nconsole.log(multilineString);\n// Salida:\n// Esta es la primera línea.\n// Esta es la segunda línea.\n// Y esta es la tercera línea.\n\nObserva el \\n — es una secuencia de escape
Blogs
Book Recommendations
Leer también
Cómo cambiar la URL sin recargar la página: optimización y rendimiento
Cómo acelerar el aprendizaje de Go: consejos de desarrolladores senior
Monitoreo de aplicaciones Java: métricas y alertas (nivel avanzado)
Integración de WebAssembly y C#: creando aplicaciones web de alto rendimiento
Startups en Swift: historias de éxito y código que lo cambió todo