Acabo de empezar a aprender javascript y estoy tratando de agregar un elemento a un objeto que creé anteriormente, pero aparece un error que indica que la propiedad no existe.
Parece que no puedo encontrar el problema, tal vez sea un error de sintaxis, pero parece que no puedo verlo, así que tal vez alguien pueda ayudarme a detectarlo si ese es el caso.
Este es el objeto >
const restaurant = { name: 'Classico Italiano', location: 'Via Angelo Tavanti 23, Firenze, Italy', categories: ['Italian', 'Pizzeria', 'Vegetarian', 'Organic'], starterMenu: ['Focaccia', 'Bruschetta', 'Garlic Bread', 'Caprese Salad'], mainMenu: ['Pizza', 'Pasta', 'Risotto'], openingHours: { thu: { open: 12, close: 22, }, fri: { open: 11, close: 23, }, sat: { open: 0, // Open 24 hours close: 24, }, }, orderD: function ({ orderName = 'ANON', address = 'ANON', time = '00:00', order = 'ANON', }) { console.log(`${orderName} has ordered (${order}) to ${address} at ${time}`); }, orderPizza: function (mainIngredient, ...otheringredients) { console.log(mainIngredient); console.log(otheringredients); }, };Entonces aquí traté de agregarle un elemento.
restaurant.numOfGuests = 0;
pero luego resalta el nombre del elemento diciendo
La propiedad 'numOfGuests' no existe en el tipo '{ nombre: cadena; ubicación: cadena; categorías: cadena[]; menú de inicio: cadena []; menú principal: cadena []; horario de apertura: { jue: { abierto: número; cierre: número; }; viernes: { abierto: número; cierre: número; }; sat: { abierto: número; cierre: número; }; }; orderD: ({ orderName, address, time, order, }: { ...; }) => void; ordenarPizza: (mai...'.ts(2339)
Traté de ignorarlo y seguir adelante, pero luego, cuando intenté registrar el nuevo elemento en la consola
console.log(numOfGuests);
me dio este error
Error de referencia no capturado: numOfGuests no está definido
No parece que haya configurado la propiedad numOfGuests , que es importante si su código es TypeScript (a diferencia de JavaScript). Todo lo que tienes que hacer es configurarlo como en el siguiente código. Luego, puede hacer referencia a él en cualquier otro código según sea necesario. Consulte Tipos de objetos para obtener más información.
const restaurant = { name: 'Classico Italiano', location: 'Via Angelo Tavanti 23, Firenze, Italy', categories: ['Italian', 'Pizzeria', 'Vegetarian', 'Organic'], starterMenu: ['Focaccia', 'Bruschetta', 'Garlic Bread', 'Caprese Salad'], mainMenu: ['Pizza', 'Pasta', 'Risotto'], numOfGuests: 20, openingHours: { thu: { open: 12, close: 22, }, fri: { open: 11, close: 23, }, sat: { open: 0, // Open 24 hours close: 24, }, }, orderD: function({ orderName = 'ANON', address = 'ANON', time = '00:00', order = 'ANON', }) { console.log(`${orderName} has ordered (${order}) to ${address} at ${time}`); }, orderPizza: function(mainIngredient, ...otheringredients) { console.log(mainIngredient); console.log(otheringredients); }, }; console.log(restaurant);Si está utilizando JavaScript, no debería obtener el error. Vea el siguiente fragmento de código como ejemplo:
const restaurant = { name: "Classico Italiano", location: "Via Angelo Tavanti 23, Firenze, Italy", categories: ["Italian", "Pizzeria", "Vegetarian", "Organic"], starterMenu: ["Focaccia", "Bruschetta", "Garlic Bread", "Caprese Salad"], mainMenu: ["Pizza", "Pasta", "Risotto"], openingHours: { thu: { open: 12, close: 22 }, fri: { open: 11, close: 23 }, sat: { open: 0, // Open 24 hours close: 24 } }, orderD: function({ orderName = "ANON", address = "ANON", time = "00:00", order = "ANON" }) { console.log(`${orderName} has ordered (${order}) to ${address} at ${time}`); }, orderPizza: function(mainIngredient, ...otheringredients) { console.log(mainIngredient); console.log(otheringredients); } }; restaurant.numOfGuests = 20; console.log(restaurant);