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.