Javascript嵌套无效功能

时间:2020-11-04 14:10:54

标签: javascript class

我有一个Notification类,我想提供这种JSON结构:

{
   "title":"title1",
   "author":{
      "name":"author1"
   }
}

在我的构造函数中,我传递了title和author参数,唯一的问题是author是自身的一个类。我想知道是否必须在文件中声明一个作者类(我会避免),还是可以将作者类直接嵌套在通知类中。我以这种方式尝试过,但没有成功:

class Notification {

    constructor(title, author) {
        this.title = title;
        this.author = class {
            name = author
        }
    }
}

感谢您的帮助。

1 个答案:

答案 0 :(得分:0)

定义类应该在初始化其实例之前完成。

在您的情况下(假设author的构造函数中的Notification实际上是一个字符串,代表其名称):

class Author {
  constructor(name) {
    this.name = name;
  }
}

class Notification {
  constructor(title, author) {
    this.title = title;
    this.author = new Author(author);
  }
}

或者,您可以只初始化表示Author的对象的特定实例:

class Notification {
  constructor(title, author) {
    this.title = title;
    this.author = { name: author };
  }
}