Class 指定主干.Model中的所有属性

Class 指定主干.Model中的所有属性,class,backbone.js,Class,Backbone.js,我在一个移动项目中使用主干网。假设我有一个这样的示例类 var Person = Backbone.extend({ }); Person对以下属性进行分类firstName、lastName、age和gender。我想在类中指定所有这些属性。因此,其他开发人员知道他们必须为实例设置哪些属性。浏览完文档后,我看到了一个名为defaults的属性,我可以使用它 var Person = Backbone.extend({ defaults: { firstName: '',

我在一个移动项目中使用主干网。假设我有一个这样的示例类

var Person = Backbone.extend({

});
Person
对以下属性进行分类
firstName
lastName
age
gender
。我想在类中指定所有这些属性。因此,其他开发人员知道他们必须为实例设置哪些属性。浏览完文档后,我看到了一个名为
defaults
的属性,我可以使用它

var Person = Backbone.extend({
   defaults: {
      firstName: '',
      lastName: '',
      age: null,
      gender: null
   }
});

但是我看到
默认值
属性的目的是不同的,对吗?不要让人们知道类包含哪些属性。有什么更好的方法可以实现这一点吗?

在我们的项目中,我们使用默认值来实现这一目的。它很好地解决了这个问题,还可以作为一个文档点。据我所知,没有其他卑鄙的方式可以做到这一点。但是,您仍然可以使用老式的注释:)

您可以编写getter函数,因此模型的属性可以作为模型的公共API直接使用

这样,任何使用模型对象的开发人员都可以查看它的公共属性(假设她使用了一个像样的IDE),而无需打开文件进行编辑(为什么这样做?),例如:

var Person=Backbone.extend({
默认值:{
名字:'',
// ...
},
getFirstName:函数(){
返回this.attributes.firstName;
}
// ...
});