Javascript 如何使用'new'运算符初始化领域对象

Javascript 如何使用'new'运算符初始化领域对象,javascript,react-native,realm,Javascript,React Native,Realm,我制作了Person类并设置了一些有用的方法 我想将Person对象保存到领域js,在某些情况下还想使用未保存的,只是临时的Person对象 但是,当我尝试使用new操作符初始化时,它失败了,并显示消息Error:RealmObject不能作为函数调用 是否可以使用新建创建对象, 或者我只能调用realm.create('Person',{…})来创建一个实例(不幸地保存到realm) 注: 扩展Realm.Object是必需的,因为对保存的对象调用person.isValid()非常重要。您必

我制作了
Person
类并设置了一些有用的方法

我想将
Person
对象保存到领域js,在某些情况下还想使用未保存的,只是临时的
Person
对象

但是,当我尝试使用
new
操作符初始化时,它失败了,并显示消息
Error:RealmObject不能作为函数调用

是否可以使用
新建
创建对象,
或者我只能调用
realm.create('Person',{…})
来创建一个实例(不幸地保存到realm)

注:
扩展Realm.Object
是必需的,因为对保存的对象调用
person.isValid()
非常重要。

您必须使用
创建
。领域对象不是常见的JavaScript对象,因为它们位于数据库中。
class Person extends Realm.Object {
  get fullName() {
    return this.firstName + ' ' + this.lastName;
  }

  // ...other useful methods
}

Person.schema = {
  name: 'Person',
  properties: {
    firstName: 'string',
    lastName: 'string'
  }
}

// Error: RealmObject cannot be called as a function
var person = new Person()