'use strict';
// Data needed for a later exercise
const flights =
'_Delayed_Departure;fao93766109;txl2133758440;11:25+_Arrival;bru0943384722;fao93766109;11:45+_Delayed_Arrival;hel7439299980;fao93766109;12:05+_Departure;fao93766109;lis2323639855;12:30';
// Data needed for first part of the section
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'],
order: function (starterIndex, mainIndex) {
return [this.starterMenu[starterIndex], this.mainMenu[mainIndex]];
},
// Distructuring object arguments
orderDelivery: function({starterIndex=1, mainIndex=0, time='20:00', address}) {
console.log(`Order Received: ${this.starterMenu[starterIndex]} and ${this.mainMenu[mainIndex]}
will be delivered to ${address} at ${time}`);
},
openingHours: {
thu: {
open: 12,
close: 22,
},
fri: {
open: 11,
close: 23,
},
sat: {
open: 0, // Open 24 hours
close: 24,
},
},
};
restaurant.orderDelivery({
time: '22:30',
address: 'Ansan',
mainIndex: 2,
starterIndex: 2,
});
restaurant.orderDelivery({
address: 'Ansan',
starterIndex: 1,
});
const {name, openingHours, categories} = restaurant;
console.log(name, openingHours, categories);
// New Name
const {name: restaurantName, openingHours: hours, categories: tags} = restaurant;
console.log(restaurantName, hours, tags);
// Default values
const {menu = [], starterMenu: starters = []} = restaurant;
console.log(menu, starters);
// Mutating variables
let a = 111;
let b = 999;
const obj = {a: b, b: 7, c:14};
({a, b} = obj);
console.log(a, b);
// Nested objects
const {fri: {open, close}} = openingHours;
console.log(open, close);
const arr = [1, 2, 3];
const [x, y, z] = arr;
console.log(x, y, z);
let [main, , secondary] = restaurant.categories;
console.log(main, secondary);
[main, secondary] = [secondary, main];
console.log(main, secondary);
const [starter, mainCourse] = restaurant.order(2 ,0);
console.log(starter, mainCourse);
const nested = [2, 4, [5, 6]];
const [i, , [j,k]] = nested;
console.log(i, j, k);
'Web > JavaScript' 카테고리의 다른 글
(JavaScript) || and && short circuiting / Nullish (0) | 2021.11.02 |
---|---|
(JavaScript) Rest Pattern (0) | 2021.11.01 |
(JavaScript) Primitives vs References types (0) | 2021.10.31 |
(JavaScript) Regular vs Arrow function (0) | 2021.10.31 |
(JavaScript) THIS Keyword (0) | 2021.10.31 |