Oh, wow, javascript object constructors. Cooooooooooool. Let’s dive right in, shall we?
function Expenses(AP,dollarsOut,frequency) {
this.AP = AP;
this.dollarsOut = dollarsOut;
this.frequency = frequency;
this.goodExpense = "maybe?";
};
var phone = new Expenses("Sprint Cellphone Bill", 160, "monthly")
var restaurants = new Expenses("Restaurant food out", 300, "monthly")
console.log("You spend " + restaurants.dollarsOut + " on " + restaurants.AP + ".")
console.log("Is " + phone.AP + " a good expense? Answer: " + phone.goodExpense)
Output:
You spend 300 on Restaurant food out. Is Sprint Cellphone Bill a good expense? Answer: maybe?
To unpack this a bit, the constructor Expenses up there is defined up top with three attributes, which then makes the template creation of objects a SNAP. So phone and restaurants are whip-fast created. I can even make an attribute, like this.goodExpense, that’s not part of the callable constructor, but which every object created from it retains that defined attribute! AHHHH THAT IS SO COOL flail
And I can just access the attributes of these objects this easily! Seems magical. The this requirement of objects in JS is a little more approachable. Sorry for the flurry of posts – I just really, really want to get this course done, AND OBJECTS COMPLETELY UNDERSTOOD, so that I can move onto my next project which I am so so so excited for : )
Object constructors are wonderful, wonderful things 🙂
They sure make life a whole heck of a lot easier.