CoffeScript компилирует это:Почему CoffeeScript обертывания класса скомпилированный код
class A
a: 'value'
к:
var A;
A = (function() {
function A() {}
A.prototype.a = 'value';
return A;
})();
Какая разница с этим:
var A = function A(){};
A.prototype.a = 'value';
Я проверил коды в консоли и первый возвращает function A()
, а второй возвращает "value"
, но в качестве класса предназначен t o быть экземплярным, использовать class A
, myA = new A()
работает в обоих случаях.
Оба одинаковые. Первый просто помещает охватывающую область во все определение «A» и ее членов. – Joseph
@JosephtheDreamer: есть [вещи, которые вы можете сделать с первым] (http://coffeescript.org/#try:class%20C%0A%20%20%20%20f%20%3D%20-%3E), что второй не охватывает. –