2013-03-31 5 views
0

У меня есть этот код в LiveScript (1.1.1):Функция внутри класса изменяет прототип, а не просто возвращается объект

class A 
    b = -> { a: 1 b: 2 } 

Он компилирует в этом:

var A; 
A = (function(){ 
    A.displayName = 'A'; 
    var b, prototype = A.prototype, constructor = A; 
    b = function(){ 
    return prototype.a = 1, prototype.b = 2, prototype; 
    }; 
    function A(){} 
    return A; 
}()); 

Почему б() изменить прототип? Я ожидал, что он просто вернет ассоциативный массив { a: 1, b: 2 }.

ответ