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

242
Visualizações
¿Qué es esta estructura en javascript return({object}={})=>{more code}?

Estoy tratando de entender qué está haciendo este código, es de un nodejs. No entiendo qué está haciendo esta estructura.

return({objeto}={})=>{más código}

puede encontrar el repositorio aquí: https://github.com/howardmann/clean-node/blob/master/models/teacher/teacher.js

 let buildMakeTeacher = function(teacherValidator) { return ({ name, subject, tenure = false } = {}) => { let {error} = teacherValidator({name, subject, tenure}) if (error) throw new Error(error) return { getName: () => name, getSubject: () => subject, isTenure: () => tenure } } }

about 4 years ago · Juan Pablo Isaza
3 Respostas
Responde à pergunta

0

Además de la respuesta de @Sarkar, la cantidad de llaves aquí puede sorprenderlo. El punto de otros (que no declaran un alcance) es la desestructuración de objetos . rompiendo:

 let {error} = teacherValidator({name, subject, tenure})

Esta línea toma el objeto devuelto por teacherValidator y extrae una clave llamada error de él. Si devolvió, digamos, {error: 'Fail', errorcode: 1} , entonces error se asigna a 'Fail' .

 return ({ name, subject, tenure = false } = {}) => { doSomething(); }

Esto crea una función anónima con un manejo de argumentos complejo. Es (al llamar a resultado, la implementación debe diferir) equivalente a:

 return function(params={}) { let {name, subject, tenure=false} = params; doSomething(); }

Esta función:

  • Cuando se llama sin argumentos, tiene parámetros establecidos en objeto vacío;
  • Cuando se llama con un argumento, extrae las claves de name y subject ( undefined si no está presente) y la clave de tenure ( false si falta).
  • Realiza alguna acción con estos argumentos (comprueba el error y devuelve el objeto con 3 funciones anónimas como captadores)
about 4 years ago · Juan Pablo Isaza Relatório

0

es una funcion anonima

este

 (object)=>{more code}

es equivalente a esto

 function functionName(object){ moreCode }

su ejemplo de código es una función llamada buildMakeTeacher que devuelve una función anónima que devuelve un objeto

about 4 years ago · Juan Pablo Isaza Relatório

0

Lea sobre el cierre y curry un poco le dará una mejor perspectiva.

Pero básicamente eso significa que esta función devuelve una nueva función que devuelve un objeto con acciones invocables.

Así que para llamarlo deberías hacer algo como buildMakeTeacher(someValidstor)({name: “foo”, subject: “bar”}).getSubject()

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