Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

310
Vistas
¿Es válido tener una función de JavaScript que no hace nada?

Estoy trabajando en tres cuadros de texto que obtienen datos y los muestran en un menú desplegable de autocompletado de jQuery. Dado que JavaScript es bastante flexible con sus objetos y no tiene interfaces. Hice un objeto de llamada API que luego toma un objeto de funciones que se propaga en sí mismo.

 export function ApiCall(baseUrl, domain, path, options = {}) { return { baseUrl: baseUrl, domain: domain, path: path, getData: function () { return $.ajax({ url: this.fullUrl, dataType: "json", data: this.data, success: function(data) { return data } }); }, ...options } }

Esto me permitió deshacerme de la mayoría de los bloques if ya que ya no tenía que verificar las ID de html. Sin embargo, me he encontrado con dos problemas con esto. Algunos de los objetos necesitan tener una función vacía que no haga nada, mientras que otros tienen esa función para hacer algo.

 addError: function () { addError(this.title) },

y otros

 addError: () => { }

Esto está creciendo un poco y me preocupa que los objetos puedan tener algunos implantándolos y otros no. Tal como está ahora, el código funciona muy bien y ha aclarado muchos bloques if que hacen cosas diferentes según el ID de html que se pasa y simplemente ejecuta la función en el objeto. ¿Es esto válido? ¿Alguna forma mejor de implementar esto? ¿Alguna forma de aclarar esto para que sea más legible y menos confuso?

about 4 years ago · Juan Pablo Isaza
1 Respuestas
Responde la pregunta

0

Sí, las funciones no operativas se encuentran ocasionalmente y, a veces, no hay forma de evitarlas. Pero por lo general tiene más sentido si, en lugar de escribir funciones no operativas, puede omitir la función por completo.

Si hay un código que no está bajo su control que llama incondicionalmente a una propiedad de un objeto, pero no quiere que ocurra nada cuando eso suceda, entonces las funciones no operativas son su única opción.

Pero si el código que usa el objeto está bajo su control, encontrará que su código será significativamente más delgado si comprueba que la propiedad existe antes de llamarlo. Por ejemplo, si, dado un objeto, desea llamar a addError si esa propiedad existe, puede hacer lo siguiente:

 obj.addError?.();

lo que le permite evitar tener que hacer

 addError: () => { }

En todas partes.

Si tiene que usar funciones no operativas en su lugar, es un poco desafortunado (en mi opinión), pero no es un gran problema.

about 4 years ago · Juan Pablo Isaza Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda