У меня есть два следующих определения класса CoffeeScript.Я ожидал от них того же поведения, но они этого не делают.В частности, доступ к A
в случаях DoesNotWork
не определен.
fields = ["A","B","C"]
class DoesNotWork
constructor: () ->
_.each(fields, (f) -> @[f] = ko.observable(''))
class DoesWork
constructor: () ->
@A = ko.observable('')
@B = ko.observable('')
@C = ko.observable('')
приведенный выше код компилируется в
var DoesNotWork, DoesWork, fields;
fields = ["A", "B", "C"];
DoesNotWork = (function() {
function DoesNotWork() {
_.each(fields, function(f) {
return this[f] = ko.observable('');
});
}
return DoesNotWork;
})();
DoesWork = (function() {
function DoesWork() {
this.A = ko.observable('');
this.B = ko.observable('');
this.C = ko.observable('');
}
return DoesWork;
})();
Что за новичок JS тонко мне не хватает?