IIC2513 / Syllabus-S1-2024-1

Sección 1 - Antonio Ossa
38 stars 1 forks source link

Duda pizza-time #119

Open MaxAl100 opened 8 months ago

MaxAl100 commented 8 months ago

Buenos días, tengo una duda respecto al ejercicio "pizza-time", ya que intenté resolver el ejercicio y calculo correctamente el precio, pero cuando intento obtener el valor llamando a la función que calcula el precio desde la función de "displayInvoice" y lo intento mostrar aparece "NaN" en vez del precio correcto que se imprime en consola y no entiendo porque sucede esto. No sé si puedo subir mi código del ejercicio, por lo que no lo haré por si acaso.

MaxAl100 commented 8 months ago

Se me ocurrió algo para resolverlo y funcionó al tiro, lo que hice fue hacer que los ingredientes estuvieran en un array (?) con los paréntesis "{" y "}" 😅 perdón por el issue innecesario 😝

aaossa commented 8 months ago

Hola @MaxAl100

Esto tiene relación con que para entregarle los parámetros a la función se usó un destreucturing assignment, o sea que en la práctica la función recibe un único argumento:

https://github.com/IIC2513/pizza-time/blob/8fa92883b33f8be111097c27e9e86cff96e8ac7c/pizzeria.js#L5-L11

Esto es visible en la sección del código entregado en la que se utiliza llama a la función displayInvoice dentro de handleSubmit:

https://github.com/IIC2513/pizza-time/blob/8fa92883b33f8be111097c27e9e86cff96e8ac7c/pizzeria.js#L62-L75

Puedes ver este ejemplo en la documentación de MDN que justamente explica lo que está ocurriendo:

const user = {
  id: 42,
  displayName: "jdoe",
  fullName: {
    firstName: "John",
    lastName: "Doe",
  },
};

function userId({ id }) {
  return id;
}

function whois({ displayName, fullName: { firstName: name } }) {
  return `${displayName} es ${name}`;
}

console.log(userId(user)); // 42
console.log(whois(user)); // "jdoe es John"