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

254
Vistas
En JavaScript, ¿puede hacer referencia a un nombre de método/función dentro de ese método/función?

Estoy construyendo un marco de automatización en JavaScript para WebdriverIO.

Los mensajes de error "listos para usar" no son muy útiles y me gustaría agregar el nombre de la clase y el nombre del método como parte de un prefijo al mensaje de error que aparece cuando falla el método o la función.

Me las arreglé para llamar al nombre de la clase con ClassName.name

Sin embargo, no he encontrado una solución para hacer referencia al nombre del método sin usar algún valor codificado.

A continuación se muestra un resumen de los cambios que me gustaría hacer.

Antes:

 setElementValue(element, value){ try{ this.waitForElementAndScroll(element); $(element).setValue(value); } catch(error){ throw `${BasePage.name}.setElementValue: ${error.message}`; } }

Después:

 setElementValue(element, value){ try{ this.waitForElementAndScroll(element); $(element).setValue(value); } catch(error){ throw `${BasePage.name}.${setElementValue.name}: ${error.message}`; } }

Donde ${setElementValue.name} es el método para hacer referencia al nombre del método/función.

¡Muchas gracias de antemano!

He intentado lo siguiente sin éxito:

method.name //ReferenceError: method is not defined

(method).name //ReferenceError: method is not defined

Function.name //Returns "Function"

Function.value //Returns "undefined"

constructor.name //Returns "Object"

setElementValue.name //ReferenceError: setElementValue is not defined

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

0

Encontré esta solución (muy obvia) que me funcionó:

 this.setElementValue.name

donde el mensaje de error arrojado es:

 throw `${BasePage.name}.${this.setElementValue.name}: ${error.message}`;

que genera el siguiente registro de error cuando falla el método:

 `BasePage.setElementValue: element ("#submit-button") still not displayed after 500ms`
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