Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

97
Visualizações
problema en el concepto de decoradores javascript

Estoy tratando de aprender decoradores en javascript con la ayuda de este artículo: https://dev.to/logrocket/understanding-javascript-decorators-ba2 .

Mis preguntas son:

  1. ¿Cómo es posible que en la función Validator podamos leer argumentos de la función Multiply ?
  2. ¿Por qué los argumentos de Multiply no están definidos antes de la return function(...args) dentro de la función Validator ?

Aquí está el código:

 let Multiply = (...args) => { return args.reduce((a, b) => a * b) } // validated integers const Validator = (fn) => { return function(...args) { const validArgs = args.every(arg => Number.isInteger(arg)); if (!validArgs) { throw new TypeError('Argument cannot be a non-integer'); } return fn(...args); } } //decorated multiply function that only multiplies integers MultiplyValidArgs = Validator(Multiply); MultiplyValidArgs(6, 8, 2, 10);
about 4 years ago · Juan Pablo Isaza
1 Respostas
Responde à pergunta

0

El validador crea y devuelve una nueva función (especificada en el cuerpo function(...args) { ...} )

...args es la matriz de todos los parámetros que se le darán a esa función cuando se la llame. Y es esta lista de parámetros la que es inspeccionada por la función devuelta (no por la función Validator ). Al final, la función creada llamará a la función inicial, dada como un parámetro para Validator , siempre que todos los parámetros sean números.

Entonces hay tres funciones involucradas:

1 la función inicial Multiply

2 la función Validator , que puede crear una nueva función envolviendo la función inicial

3 el devuelto y la función MultiplyValidArgs que puede usar

about 4 years ago · Juan Pablo Isaza Relatório
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda