Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

161
Views
¿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 answers
Answer question

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 Report

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 Report
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!