Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

279
Views
Convertir cadena de JavaScript a literal de JavaScript

En Chrome, cuando hace clic con el botón derecho en una cadena en la consola, verá la opción "copiar cadena como literal de JavaScript". Esto es lo que quiero tener ahora, en JavaScript.

Por ejemplo, supongamos que tengo el siguiente contenido de texto:

 console.log('hoge');

Mi pregunta es, ¿cómo puedo obtener algo a continuación de lo anterior?

 "console.log('hoge');"

Quiero hacer esto porque tengo megabytes de contenido de JavaScript largo generado por un paquete web y, por alguna razón, necesito eval() el script en otro entorno, por lo que quiero copiar y pegar el texto literal de JavaScript. al interior de "eval()". (puede sugerir intercambiar los datos no con el literal sino con json (json.stringify/parse), lo sé, pero prefiero la forma literal por ahora)

Entonces, ¿es posible? Gracias.

about 4 years ago · Juan Pablo Isaza
2 answers
Answer question

0

Después de observar los consejos sobre la debilidad de seguridad inherente al uso de eval (consulte: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/eval )

Puede lograr lo que desea encerrando todo el código literal dentro de tildes y usando la cadena resultante como argumento eval . Las cadenas entre comillas de backtick pueden incluir saltos de línea, por lo que debería poder pasar todo el bloque de código dentro de un solo conjunto.

Fragmento de trabajo.

 console.log('hoge'); console.log('another hoge'); eval(`console.log('hoge'); console.log('another hoge')`);

about 4 years ago · Juan Pablo Isaza Report

0

Puede encerrar fácilmente Javascript en acentos graves para obtener un literal de plantilla :

 eval(`console.log('hoge')`)

Pero también debe evitar los acentos graves dentro del código Javascript para manejar situaciones como esta:

 eval(`console.log(`hoge`)`) // SyntaxError

Como solución, puede usar este bash one-liner :

 sed 's/`/\\`/g' | xargs -0 printf 'eval(`%s`)'
  1. Invoque el comando presionando Enter .
  2. Pegue el Javascript que desea escapar y presione Enter nuevamente.
  3. Presione Ctrl+D para finalizar la entrada.
  4. Obtendrá una llamada válida a la función eval() con un literal de plantilla escapado en la salida.

Puede asignar este comando de una sola línea a un alias para facilitar su uso:

 alias js_eval_literal="sed '"'s/`/\\`/g'"' | xargs -0 printf '"'eval(`%s`)'"'"
about 4 years ago · Juan Pablo Isaza Report
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!