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

198
Views
¿Cómo evitar repetir una larga lista de parámetros/argumentos en las llamadas a funciones y tenerlos todos definidos en un solo lugar?

Tengo la siguiente clase (pseudocódigo de ejemplo):

 class Whatever { constructor(param1, param2, ... , param15) { this.someLongInitialTask1(param1, param2, ... , param15); this.someLongInitialTask2(param1, param2, ... , param15); // some other operations } someLongInitialTask1(param1, param2, ..., param15) { //here some operation to be performed only at inizialization } someLongInitialTask2(param1, param2, ..., param15) { //here some operation to be performed only at inizialization } }

Me gustaría poder especificar en mi código la lista de parámetros/argumentos param1, param2, ..., param15 solo en 1 lugar, en lugar de repetirlos cada vez que los necesito. La razón es hacer un código más robusto y mantenible y evitar olvidar cambiar los parámetros en las distintas llamadas múltiples.

¿Cómo es posible hacer eso?

No quiero que estos parámetros sean un campo/propiedad de la clase porque son útiles solo cuando la clase se instancia inicialmente y no hay necesidad de "memorizarlos" dentro del objeto (no hay necesidad de asignarlos a los campos del objeto ).

about 4 years ago · Juan Pablo Isaza
2 answers
Answer question

0

Use la sintaxis del operador de propagación ... para eso:

 class Whatever { constructor() { this.someLongInitialTask(...arguments); }
about 4 years ago · Juan Pablo Isaza Report

0

Tener muchos parámetros es algo que tiendo a evitar en estos días (prefiero los parámetros desestructurados de objetos), pero si solo desea pasar argumentos, puede usar la sintaxis extendida.

 class Whatever { constructor(...params) { this.someLongInitialTask(...params); } someLongInitialTask(...params) { const [param1] = params; console.log(param1); this.someLongInitialTask2(...params); } someLongInitialTask2(...params) { const [param1, param2, param3] = params; console.log(param1, param2, param3); } } new Whatever(1,2,3);

about 4 years ago · Juan Pablo Isaza 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!