Calling methods statically on classes
Most of the time we want the methods we attach to a class to be available on every instance of that class. In JavaScript, this means attaching them to the class prototype. Occasionally, though, we wish to attach a method to the class itself, so that it is always available from a single reference without instantiating any objects. These are commonly known as static methods
or class methods. These types of method declarations are sometimes used to group many utility functions under a single namespace (think of the Math class in the standard JavaScript library). Let's build one of those.
class Bicycle
@frameSizeByHeight = (riderHeight) ->
Math.floor riderHeight * 0.82
for h in [60, 68, 72]
console.log "A #{h}\" rider needs a size " +
"#{Bicycle.frameSizeByHeight h} bike."We have a Bicycle class. One common calculation related to bikes is determining what size bike someone needs given their height. It doesn't make sense for us to construct...