JavaScript Chaining
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'],
operatingHours: {
thu: {
open: 12,
close: 22,
},
fri: {
open: 11,
close: 23,
},
sat: {
open: 0,
close: 24
},
},
order: function (starterIndex, mainIndex) {
return [this.starterMenu[starterIndex], this.mainMenu[mainIndex]]
},
orderDelivery({
starterIndex = 1,
mainIndex = 0,
time = '20:00',
address,
}) {
console.log(`Order recieved! ${this.starterMenu[starterIndex]} and ${this.mainMenu[mainIndex]} will be delivers to ${address} at ${time}`)
},
orderPasta(ing1, ing2, ing3) {
console.log(`Here is your delicious pasta with ${ing1}, ${ing2}, and ${ing3}.`)
},
orderPizza(mainIngredient, ...additionalIngredients) {
// just going to log them here, but really you'd do something with the ingredients
console.log(mainIngredient)
console.log(additionalIngredients)
},
}
console.log(restaurant.operatingHours.mon) // undefined
console.log(restaurant.operatingHours.mon.open) // error -- can't read property of undefined