РЕДАКТИРОВАТЬ: извините, неправильно прочитал ваш вопрос.
В этом случае кажется, что coffeescript просто тупит ... вроде как wysiwyg генерирует html.
var MyObject = function() {
function MyObject() {
this.x = 5;
}
MyObject.prototype.getX = function() {
return _MyObjectGetX( this ); // referencing a closure
};
return MyObject;
}();
var _MyObjectGetX = function( myObject ) {
return myObject.x;
};
действительно не имеет никакого преимущества перед более простым
var MyObject = function() {
this.x = 5;
};
MyObject.prototype.getX = function() {
return this.x;
};
И внешняя функция-получатель, используемая в верхнем примере coffeescript, похоже, не имеет выгоды от простого возврата. На самом деле ни один из них, по-видимому, не имеет законного использования для геттера, поскольку инкапсуляция не предоставляется. Свойство x легко доступно (и модифицируется) для объекта независимо от того, куда оно передано.
Там могут быть некоторые причины, почему фреймворк решил сделать это ... но для этого простого примера я не понимаю.