I am currently completing the front-end web development course offered by Meta.
I am confused with the usage of Object.create() and Object Literals. Let's use the following code for the reference:
let bird = {
hasWings: true,
canFly: true,
hasFeathers: true
};
let eagle = bird;
console.log("Eagle can fly: ", eagle.canFly); //"Eagle can fly: " true
eagle.canFly = false;
console.log("Eagle can fly: ", eagle.canFly); // "Eagle can fly: " false
let penguin = Object.create(bird);
penguin.canFly = false;
console.log("Penguin can fly: ", penguin.canFly); //"Penguin can fly: " false
If I can achieve the same results by simply using the object literals like in case of eagle, then what difference does using Object.create()` make in the case of penguin?
I tried to take help from ChatGPT, but it was confusing.
Using your code, I could rewrite something like this:
To avoid those problems,
Object.create()will give you a new object without any references from other objects.let eagle = Object.create(bird);Something like that.