Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

284
Vistas
El número de tipo de argumento no se puede asignar a la cadena de tipo de parámetro | undefined El número de tipo no se puede asignar a la cadena de tipo

Estoy un poco confundido con esta advertencia:

Argument type number is not assignable to parameter type string | undefined Type number is not assignable to type string

Tome la siguiente paz de código:

 function createCalculator() { let calculator = { sum() { return this.a + this.b; }, mul() { return this.a * this.b; }, read() { this.a = +prompt('a?', 0); this.b = +prompt('b?', 0); } }; calculator.read([1,3,6]); console.log( calculator.sum() ); console.log( calculator.mul() ); } let calculator; calculator = createCalculator();

También tengo una advertencia:

 Void function return value is used

quiero lo siguiente:

La función createCalculator() devuelve un objeto con tres métodos:

  • read(arr) acepta una tabla de números y la guarda en su objeto de campo.
  • sum() devuelve la suma de los valores de la tabla
  • mul() devuelve el producto de los valores de la tabla
about 4 years ago · Juan Pablo Isaza
1 Respuestas
Responde la pregunta

0

La advertencia se debe a que su constructor de objetos no devuelve un objeto

He insertado una función de retorno que debería hacer desaparecer su advertencia.

 function createCalculator() { let calculator = { sum() { return this.a + this.b; }, mul() { return this.a * this.b; }, read() { this.a = +prompt('a?', 0); this.b = +prompt('b?', 0); } }; calculator.read(); // Don't bother to send in the [1,3,6] because you are not using it in the function. console.log(calculator.sum()); console.log(calculator.mul()); return calculator // Do this so that your final statement really has something to receive! } let calculator; calculator = createCalculator();

¿Quizás tenías la intención de escribir esto, sin embargo?

 function createCalculator() { return { sum() { return this.a + this.b; }, mul() { return this.a * this.b; }, read() { this.a = +prompt('a?', 0); this.b = +prompt('b?', 0); } }; } const calculator = createCalculator(); calculator.read(); console.log(calculator.sum()); console.log(calculator.mul());

Ahora veo que tenía la intención de leer una lista de valores, en lugar de ingresarlos "en vivo"

Entonces, ¿qué tal esto?

 function createCalculator() { return { memory: [], read(arr) { this.memory = arr }, sum() { return this.memory.reduce((x, y) => x + y, 0) }, mul() { return this.memory.reduce((x, y) => x * y, 1) }, }; } const calculator = createCalculator(); calculator.read([1, 3, 6]); console.log(calculator.sum()); console.log(calculator.mul());

about 4 years ago · Juan Pablo Isaza Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda