Constructors
When initializing a new object, we'll often find that we want to do some setup on the new object. This may include setting default values for properties, setting values for properties that are always required, or doing some additional computation before saving the results in the object's state.
So far, we've set properties on our objects after initializing them, like this:
plane = new Airplane() plane.color = "white"
While it's nice to set properties this way some of the time, it becomes tiresome to do it all the time. It tends to move initialization logic out of the class and into the calling context, which leads to repetitive code. And if our caller makes a new object but forgets the subsequent initialization steps, we could end up in a weird half-initialized state, where things we expect to be present are not present.
The best way to deal with this is to define a constructor method. In CoffeeScript, this method is declared inside the class body, just like any other. It is identified...