我有一个带有4个属性的类,其中2个是可选的,我对参数的顺序有疑问,好像其中之一的缺失值将替换为错误的属性。看代码:
class Book{
constructor(name, author, bookURL, publishDate){
this.name = name;
this.author = author;
this.bookURL = bookURL;
this.publishDate = publishDate;
}
}
这里的名称和作者是必填项,而bookURL和publishDate是可选的。因此,例如,如果我们调用一个没有URL但带有发布日期的类,则将为bookURL分配日期。
new Book(
"The Unhoneymooners",
"Christina Lauren",
"2019"
)
这将输出:
Book {
name: 'The Unhoneymooners',
author:
'Christina Lauren',
bookURL:
'2019' }
在这里,它希望将bookURL设置为undefined,并将publishDate设置为2019年。我希望您在这里理解了这个问题。谢谢你的建议
最佳答案
让构造函数接受一个单独的参数,即一个解构的对象:
constructor({name, author, bookURL, publishDate}) {
这样你就可以通过
new Book({
name: "The Unhoneymooners",
author: "Christina Lauren",
publishDate: "2019"
})