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

192
Vistas
¿Puedo usar una expresión de función como método de clase en javascript?

Espero una pregunta concreta en javascript.

Me gustaría usar una expresión de función como método de clase, pero no sé si es posible. Intenté buscar documentación al respecto pero no encontré... Este es un ejemplo:

 class TourIdentifier extends HttpClient { constructor(baseURL, langCode, ...attr) { super({ baseURL, headers: { lang: langCode } }); this.model.init(...attr); } model = function init(...attr) { this.tours_identifiers_identifier = attr[0]; this.tours_id = attr[1]; this.lang_code = attr[2]; this.tours_id_ = attr[3]; this.tours_identifiers_id = attr[4]; }

...

Sé que hay muchas maneras de hacer esto, pero solo tengo esta pregunta y espero que cualquier persona con más experiencia que yo en JS pueda compartir sus conocimientos.

¡Aprecio tus comentarios!

¡Saludos!

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

0

Esto es todo lo que necesita saber sobre la definición de métodos en las clases MDN , pero aquí está parte de mi explicación:

Básicamente, está tratando de definir un método en una clase (lo que requiere darle un nombre a este método) y luego asignarle una función con nombre. Esto funcionará, pero no podrá llamar al método de la clase usando el nombre de la función, pero podrá hacerlo usando el nombre del método.

Imagina que tienes un objeto y una función separada:

 function func() {return 'Hello'} const obj = {};

Y desea asignar la función a una de las propiedades del objeto que hará:

 obj.myFunction = func;

Y de ahora en adelante vas a llamar a la función desde el objeto así:

 obj.myFunction();

Pero, por supuesto, podemos asignar la función en la declaración del objeto:

 function func() {return 'Hello'}; const obj = { myFunction: func }

Y todavía va a llamar a la función desde el objeto de esta manera:

 obj.myFunction();

Y, por supuesto, puede declarar el funcionamiento nombrado en la declaración del objeto:

 const obj = { myFunction: function func() {return 'Hello'} }

Y todavía va a llamar a la función desde el objeto de esta manera:

 obj.myFunction();

Así que espero que veas a dónde voy... lo mismo se puede aplicar a las clases, ya que sabemos que son solo sintaxis de azúcar :) En resumen, esto es posible, pero el nombre de la función no será útil .

 class foo { constructor() { //something } method = function init() { console.log('init 1'); } } const fooInstance = new foo(); fooInstance.method();

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