我正在搜索一个与以下骨干代码相当的好的ECMAScript 6:
var MyModel = Backbone.Model.extend({});
var MyCollection = Backbone.Collection.extend({
model: MyModel
});这种模式广泛应用于主干模型、视图和集合中。我可以比下面的代码做得更好(例如,通过创建一个名为“model”的方法)?
export class MyModel extends Backbone.Model {}
export class MyCollection extends Backbone.Collection {
constructor() {
super({model: MyModel});
}
}发布于 2015-07-02 23:12:57
我会用一个吸气器:
export class MyModel extends Backbone.Model {}
export class MyCollection extends Backbone.Collection {
get model() {
return MyModel;
}
}发布于 2015-07-02 20:13:37
当然,不要使用class关键字:
var MyModel = Backbone.Model.extend({});
var MyCollection = Backbone.Collection.extend({
model: MyModel
});实际上,这段代码比您编写的ECMAScript 6等效代码更可重用。ECMAScript 6实际上比原来的更糟。
您必须了解,在JavaScript中,对象可以在没有类的情况下存在,而且该特性非常重要。
下面是道格拉斯·克罗克福德在2008年关于原型继承的文章:http://javascript.crockford.com/prototypal.html
https://stackoverflow.com/questions/31193667
复制相似问题