Skip to content

rob587/ex-js-objects-2

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

6 Commits
 
 

Repository files navigation

snack oggetti

🏆 Code Question 1

const hamburger = { name: "Cheese Burger", weight: 250 };

const secondBurger = hamburger;

secondBurger.name = 'Double Cheese Burger';

secondBurger.weight = 500;

​

console.log(hamburger.name); // ?

console.log(secondBurger.name ); // ?

Senza lanciare il codice, riesci a prevedere cosa viene stampato in console?

i 2 console log stamperanno double cheese burger

Quanti oggetti sono stati creati in memoria durante l'esecuzione di questo codice?

solo il name
-----------------------------

🏆 Code Question 2

const hamburger = {

name: "Cheese Burger",

weight: 250,

ingredients: ["Cheese", "Meat", "Bread", "Tomato"]

};

​

const secondBurger = {...hamburger};

secondBurger.ingredients[0] = "Salad";

​

console.log(hamburger.ingredients[0]); // ?

console.log(secondBurger.ingredients[0]); // ?

P.S.: Ricordati che gli Array, come gli oggetti, sono dei Reference Type (Tipi di Riferimento)!

Senza lanciare il codice, riesci a prevedere cosa viene stampato in console?

in tutti e 2 i log sarĂ  con "Salad"

Quanti oggetti sono stati creati in memoria durante l'esecuzione di questo codice?

sono stati creati in memoria 3 oggetti, hamburger, ingredients, secondBurger
------------------------------------------------------

🏆 Code Question 3

const hamburger = {

name: "Cheese Burger",

weight: 250,

maker: {

    name: "Anonymous Chef",

    restaurant: {

        name: "Hyur's Burgers",

        address: "Main Street, 123",

        isOpen: true,

    },

    age: 29

}

};

​

const secondBurger = structuredClone(hamburger);

const thirdBurger = structuredClone(hamburger);

Quanti oggetti sono stati creati in memoria durante l'esecuzione di questo codice?

vengono creati in memoria 12 oggetti, perchè hamburger ha l'oggetto principale: hamburger, maker e restaurant(dentro maker), se applichiamo la deep copy tutto il blocco viene creato in memoria

🏆 Code Question 4

const chef = {

name: "Chef Hyur",

age: 29,

makeBurger: (num = 1) => {

    console.log(`Ecco ${num} hamburger per te!`);

},

}

​

const restaurant = {

name: "Hyur's Burgers",

address: {

    street: 'Main Street',

    number: 123,

},

openingDate: new Date(2025, 3, 11),

isOpen: false,

};

Qual è il metodo migliore per clonare l’oggetto chef, e perché?
userei lo spread operator, perchè non ha proprietà annidate

Qual è il metodo migliore per clonare l’oggetto restaurant, e perché?
per clonare restaurant userei la deep copy(structured), per oggetti complessi come opening date oppure isOpen

🎯 Code Question 5 (Bonus)

const hamburger = {

name: "Cheese Burger",

weight: 250,

maker: {

    name: "Anonymous Chef",

    restaurant: {

        name: "Hyur's Burgers",

        address: "Main Street, 123",

        isOpen: true,

    },

    age: 29

}

};

​

const newRestaurant = {...hamburger.maker.restaurant};

newRestaurant.name = "Hyur's II";

newRestaurant.address = "Second Street, 12";

const secondBurger = {...hamburger};

secondBurger.maker.restaurant = newRestaurant;

secondBurger.maker.name = "Chef Hyur";

​

console.log(hamburger.maker.name); // ?

console.log(secondBurger.maker.name); // ?

console.log(hamburger.maker.restaurant.name); // ?

console.log(secondBurger.maker.restaurant.name); // ?

Senza lanciare il codice, riesci a prevedere cosa viene stampato in console?
Quanti oggetti sono stati creati in memoria durante l'esecuzione di questo codice?

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published