Razones por las que nunca deberías usar eval() en JavaScript

Índice
  1. Razones para evitar su uso eval()
  2. Usos legítimos para eval()

¡La función eval() existe desde hace mucho tiempo en JavaScript! Probablemente ya no la veas con frecuencia porque existe un consenso generalizado sobre su uso nocivo. Echemos un vistazo rápido a esta función y a algunos de los peligros asociados con su uso.

La palabra clave evales una abreviatura de “evaluar”. La función básicamente toma una cadena con código JavaScript y la evalúa por usted.

eval('2 + 3 + 1');// 6

Puedes evaluar una expresión simple… ¡O un montón de código JavaScript!

var foo = 2;eval('var bar = 3;var baz = 1;function addStuff() {  return foo + bar + baz;}addStuff();');// 6

Razones para evitar su uso eval()

A menos que estés trabajando con JavaScript de alto nivel (ver más abajo), los riesgos suelen ser mayores que los beneficios de usar eval(). Estas son algunas de las razones para evitar su uso:

  • Código malicioso:La invocación evalpuede hacer que el equipo se bloquee. Por ejemplo, si utiliza evalel servidor y un usuario malintencionado decide utilizar un bucle infinito como nombre de usuario.
  • Terriblemente lento:El lenguaje JavaScript está diseñado para utilizar toda la gama de tipos de JavaScript (números, funciones, objetos, etc.)… ¡No solo cadenas! Su uso evales mucho más lento que el del código JavaScript normal.

Teniendo en cuenta que eval()todavía es parte del estándar ECMAScript… ¿Existen usos apropiados para ello?

Usos legítimos para eval()

Existe un pequeño subconjunto del desarrollo de JavaScript que requiere el uso de eval. Entre ellos se incluyen: el desarrollo de bibliotecas de plantillas, intérpretes, líneas de comandos y sistemas de módulos. La mayoría de estos tipos de desarrollo de software son metaprogramación y herramientas de compilación.


Si no estás seguro de si debes usar eval, prueba a hacer una búsqueda rápida en StackOverflow. Casi siempre hay un enfoque mejor.

SUSCRÍBETE A NUESTRO BOLETÍN 
No te pierdas de nuestro contenido ni de ninguna de nuestras guías para que puedas avanzar en los juegos que más te gustan.

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Subir

Este sitio web utiliza cookies para mejorar tu experiencia mientras navegas por él. Este sitio web utiliza cookies para mejorar tu experiencia de usuario. Al continuar navegando, aceptas su uso. Mas informacion