Estenda de forma limpa qualquer classe JS

A classsintaxe 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() {
# (...)
}