A class
sintaxe do Coffeescript é compatível com as soluções de herança de protótipo do JavaScript. Por exemplo, você pode estender as aulas do Google Maps usando conciso e DRY:
class ns.CustomMarker extends google.maps.OverlayView
constructor: (@map, @param) ->
this.setMap(map)
draw: -> # (...)
Em vez de fazê-lo da maneira oficial e suja;)
ns.CustomOverlay = function(map, param) {
this.param = param;
this.map = map;
this.setMap(map);
}
ns.CustomOverlay.prototype = new google.maps.OverlayView();
ns.CustomOverlay.prototype.draw = function() {
# (...)
}