为什么要在javascript类中设置这样的默认参数?
在阅读一篇关于javascript类的文章时,作者使用了以下语法:为什么要在javascript类中设置这样的默认参数?,javascript,ecmascript-6,Javascript,Ecmascript 6,在阅读一篇关于javascript类的文章时,作者使用了以下语法: class GuitarAmp { constructor ({ cabinet = 'spruce', distortion = '1', volume = '0' } = {}) { Object.assign(this, { cabinet, distortion, volume }); } } 构造函数参数列表中={}位的用途是什么?我们不是在为文件柜、失真和卷设置默认参数
class GuitarAmp {
constructor ({ cabinet = 'spruce', distortion = '1', volume = '0' } = {}) {
Object.assign(this, {
cabinet, distortion, volume
});
}
}
构造函数参数列表中
={}
位的用途是什么?我们不是在为文件柜
、失真
和卷
设置默认参数吗?它允许您调用GuitarAmp
,而无需任何参数,并将提供一个默认参数{}
,其解构属性随后将正确分配默认值。否则,如果在没有任何参数的情况下调用函数,将导致错误:
class-GuitarAmp1{
构造函数({cabinet='spruce',distortion='1',volume='0'}={}){
控制台、日志(机柜);
}
}
类GuitarAmp2{
构造函数({cabinet='spruce',Transformation='1',volume='0'}){
控制台、日志(机柜);
}
}
新参数p1();
新吉他参数p2()代码>如果您不提供任何参数,即object,则设置默认值。您应该使用google或MDN,之前不应该在此处询问searching@xianshenglu我可以问一下,对于这样的问题,你有什么建议吗?”={}在构造函数中是什么意思?'不会得到很多有效的结果。我相信这是说,如果传递了一个对象,如果这些单独的属性没有在对象中声明,那么这些是默认值(对于cabinet、distortion、volume),如果没有向函数提供参数,那么默认值是空对象{}。