如何使用默认值创建JavaScript对象字段? (与AngularJS模型相关)

时间:2016-05-15 19:27:23

标签: javascript angularjs model-view-controller mvvm breeze

我正在尝试为AngularJS应用程序创建模型层。使用函数创建对象有很好的建议https://medium.com/opinionated-angularjs/angular-model-objects-with-javascript-classes-2e6a067c73bc#.3bjnrxun1

function User(firstName, lastName, role, organisation) {
  // Public properties, assigned to the instance ('this')
  this.firstName = firstName;
  this.lastName = lastName;
  this.role = role;
  this.organisation = organisation;
}

我要做的是创建没有参数的默认构造函数,例如

 function User() {
  // Public properties, assigned to the instance ('this')
  this.id = getNewId(); //special function that retrieves sequence from database 
  this.firstName = '';
  this.lastName = '';
  this.role = '';
  this.organisation = getDefaultOrganization();
}

我想这很好,它应该有效。但我对代码这个感到不安。第一名='&#39 ;;我很乐意声明字段并让JavaScript运行时分配JavaScript类型提供的任何默认值。

如果存在并使用AngularJS模型框架而不是为自己创建,我会更加讨厌。我已经看过BreezeJS,但我怀疑是因为两个方面。首先 - 他们的网页有点奇怪(虽然它包含很多好的文档)并且它没有提供关于强大的社区和蓬勃发展的项目的印象。第二 - 我使用Laravel作为后端,目前似乎没有对Laravel的支持。

1 个答案:

答案 0 :(得分:1)

你可以使用未来的ecma脚本 https://developer.mozilla.org/pl/docs/Web/JavaScript/Reference/Functions/Default_parameters 没有socond功能或

 function User(firstName, lastName, role, organisation) {
 // Public properties, assigned to the instance ('this')
 this.firstName = firstName||"Lorem";
 this.lastName = lastName||"ipsum";
 ...

}