Tell us what’s happening:
Describe your issue in detail here.
**Your code so far**
// Only change code below this line
class Vegetable {
constructor(name){
this.name = name;
}
}
// Only change code above this line
const carrot = new Vegetable('carrot');
console.log(carrot.name); // Should display 'carrot'
console.log(new Vegetable('carrot'))
**Your browser information:**
User Agent is: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/91.0.4472.124 Safari/537.36
Challenge: Use class Syntax to Define a Constructor Function
the first it’s only carrot because,
you saved the new object inside a variable(carrot) and used it in console.log(carrot.name)
and the second result it gets the output like that because you introduced the:
new Vegetable(…)
inside the console.log() directly,
so if you delete one of them and submit it will work or submit with both, it works too
new, if you put into it before a constructor function call (as here: new Vegetable) creates a new object. So you’re logging an object you’ve just created.
Like, if I do this, this is perfectly valid JS. Useless, but perfectly valid:
new Vegetable("carrot");
new Vegetable("carrot");
new Vegetable("carrot");
new Vegetable("carrot");
I’d have just created 4 objects. They aren’t assigned to any variable, so they’re basically useless, but there will be [for a very short time] 4 objects of type Vegetable that look like { name: "carrot"}
The bit just above that, same thing, except you’ve assigned the object to a variable called carrot, making it actually useful (so you can go carrot.name etc.).