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

168
Vistas
¿Puedo pasar condicionalmente una propiedad a un objeto?

¿Es posible pasar condicionalmente una propiedad a una función basada en objetos?

 myFunction
 .x()
 .y()
 .x();

Aquí, solo me gustaría pasar y() en función de una condición, algo así como:

 myFunction
 .x()
 [isTrue && y()]
 .x();

Cualquier ayuda muy apreciada, gracias 🙂

almost 4 years ago · Santiago Trujillo
2 Respuestas
Responde la pregunta

0

Podría usar esa sintaxis si quisiera elegir entre diferentes métodos dinámicamente. Pero no hay un método de "no hacer nada" que pueda sustituir en lugar de y cuando la condición es falsa.

Utilice una sentencia if en su lugar.

 let temp = myFunction.x();
if (isTrue) {
 temp = temp.y();
}
temp.x()
almost 4 years ago · Santiago Trujillo Denunciar

0

Aquí hay otra solución que se parece más a lo que imaginaste originalmente. La solución de Barmar funcionará bien, pero pensé en mostrar un enfoque diferente más como lo imaginaste:

 obj
 .x()
 [doIt ? "y" : "noop"]()
 .x();

En este esquema, doIt es cualquier expresión booleana o booleana y .noop() es un método de "no hacer nada" en el objeto.

Y, aquí hay un ejemplo de trabajo que puede ejecutar en un fragmento:

 const obj = {
 x() {
 console.log("executing x() method");
 return this;
 },
 y() {
 console.log("executing y() method");
 return this;
 },
 noop() {
 console.log("executing noop() method");
 return this;
 }
}

// try both values of the boolean
for (let doIt of [true, false]) {
 console.log(`\nresults for doIt = ${doIt}`);
 obj
 .x()
 [doIt ? "y" : "noop"]()
 .x();
}

almost 4 years ago · Santiago Trujillo 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