gpt4 book ai didi

javascript - 为什么要在 javascript 类中设置这样的默认参数?

转载 作者:行者123 更新时间:2023-11-29 17:45:56 26 4
gpt4 key购买 nike

在看一篇关于 javascript 类的文章时,作者使用了这样的语法:

class GuitarAmp {
constructor ({ cabinet = 'spruce', distortion = '1', volume = '0' } = {}) {
Object.assign(this, {
cabinet, distortion, volume
});
}
}

构造函数参数列表中 = {} 位的用途是什么?我们不是为cabinetdistortionvolume 设置默认参数吗?

最佳答案

它允许您在不带任何参数的情况下调用 GuitarAmp,并将提供 {} 的默认参数 - 其解构属性将被正确地默认分配。否则,如果不带任何参数调用该函数,将导致错误:

class GuitarAmp1 {
constructor ({ cabinet = 'spruce', distortion = '1', volume = '0' } = {}) {
console.log(cabinet);
}
}
class GuitarAmp2 {
constructor ({ cabinet = 'spruce', distortion = '1', volume = '0' }) {
console.log(cabinet);
}
}
new GuitarAmp1();
new GuitarAmp2();

这种默认参数解构模式可用于任何函数,无论它是否是构造函数。

关于javascript - 为什么要在 javascript 类中设置这样的默认参数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49766028/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com