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
¿Cómo debería ser el resultado de una clase de JavaScript?

Estoy intentando usar el inquirer para recopilar la entrada del usuario, que se convierte en un objeto, luego se pasa a un constructor de clase. Todo parece funcionar de la manera en que quiero que acepte la matriz resultante de objetos después de que se pasan, aunque las clases salen de una manera que me confunde.

cuando consuelo. registro la matriz que contiene los objetos que devuelven mis clases, esto es lo que sale:

 [ Manager { name: 'bob', id: '24', email: 'bob.com', officeNumber: '1' }, Engineer { name: 'jack', id: '347', email: 'jack.com', github: 'jackolantern' }, Intern { name: 'sally', id: '987', email: 'sally.com', school: 'UCF' } ]

Aquí hay un ejemplo de una de las clases:

 class Manager extends Employee { constructor (employeeObj) { super (employeeObj); this.name = employeeObj.name; this.id = employeeObj.id; this.email = employeeObj.email; this.officeNumber = employeeObj.officeNumber; } getOfficeNumber () { return this.officeNumber; } getRoll () { return "Manager"; } } module.exports = Manager;

y así es como se pasan los objetos a las clases:

 const prompts = async () => { let employeeObj = {}; const employee = await inquirer.prompt(addEmployee); switch(employee.addEmployee){ case 'Manager': employeeObj = await managerQuestions(); const manager = new Manager(employeeObj); output.push(manager); if(employeeObj.addAnother){ return prompts(); } else { complete(); } break; case 'Engineer': employeeObj = await engineerQuestions(); const engineer = new Engineer(employeeObj) output.push(engineer) if(employeeObj.addAnother){ return prompts(); } else { complete(); } break; case 'Intern': employeeObj = await internQuestions(); const intern = new Intern(employeeObj) output.push(intern) if(employeeObj.addAnother){ return prompts(); } else { complete(); } break; default: console.log('you have reached the default switch statement. thant should not happen. Please try again!'); } }

lo que parece que no puedo entender es por qué el "rollo" para cada objeto (Gerente, Ingeniero, Pasante) se coloca fuera del objeto correspondiente y no dentro de él. Pude agregar this.roll = "manager" dentro del constructor y, como era de esperar, agregó una propiedad llamada roll con un valor de "manager" que funcionará bien para lo que necesito hacer, pero ¿cómo obtengo deshacerse de ese gerente, ingeniero y pasante que aparece antes de cada objeto en la matriz de salida, o se puede mover dentro del objeto?

gracias por tomarse el tiempo para leer todo esto.

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