创建新对象时未传递任何值时,如何使用默认参数?

斯里克

我试图将参数传递给新的类构造函数,并在没有传递参数的情况下计算默认参数,同时仍可以选择通过其参数名称传递任何参数。

class thing{
 constructor({a = 0, b = 0}) { 
  if(a == 0){this.a= func();}
  else {this.a = a;}
  if(b == 0){this.b= func();
  else {this.b = b;}
}
var defaultThing = new thing(); // returns Cannot destructure property `a` of 'undefined' or 'null'. 
var parametersThing = new thing({b:20}); // returns {a = 0, b = 20}

问题在于,如果没有传递任何参数,则会Cannot destructure property `a` of 'undefined' or 'null'.返回错误

如何使用默认参数,并且仍然能够不使用任何参数而不会遇到此错误?

TJ人群

在构造函数签名中,您提供了当属性不存在于接收到的参数上但没有默认参数时的解构默认值。为此,您添加一个默认参数:

//                         vvvv−−− default parameter value
constructor({a = 0, b = 0} = {}) {
//             ^^^−−−−^^^−−−−−−−−− destructuring defaults
    // ...

如果不带参数调用它,则默认参数值({})插入,然后解构默认值插入,因为该{}对象没有aor b

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

使用CSJS创建新的标签面板时如何传递值

来自分类Dev

当传递“无”或不传递任何参数时,如何在函数中接受默认参数?

来自分类Dev

如果未传递任何参数,则在构造函数中创建默认值-javascript

来自分类Dev

在python中创建使用**(双星)语法的对象时如何传递额外的参数?

来自分类Dev

在python中创建使用**(双星)语法的对象时如何传递额外的参数?

来自分类Dev

更新时从空值创建默认对象

来自分类Dev

使用参数创建新的Powershell会话时保留$ null值

来自分类Dev

创建对象向量时,如何将参数传递给Default或Copy Constructor以初始化值?

来自分类Dev

Laravel创建雄辩的对象时从空值创建默认对象

来自分类Dev

Laravel创建雄辩的对象时从空值创建默认对象

来自分类Dev

在请求网址中未传递任何参数时,如何获取所有结果

来自分类Dev

尝试传递数组和隐藏字段以创建新对象时,不断收到“参数丢失错误”

来自分类Dev

创建新表时表未显示任何内容

来自分类Dev

如何在将哈希作为参数传递给 ruby 方法时设置默认值?

来自分类Dev

创建新类时如何查看参数?

来自分类Dev

创建新对象后如何获取对象的默认值?

来自分类Dev

JavaScript 默认参数:不传递任何值

来自分类Dev

使用object.create制作对象时创建默认参数

来自分类Dev

在创建新对象时使用“尝试并捕获”

来自分类Dev

创建新表时,如何默认具有其他表的列值的列?

来自分类Dev

如何在创建新实例时为外部提供默认值

来自分类Dev

当其他任何几列中的值均为TRUE(或1)时,使用mutate()创建新列

来自分类Dev

没有传递任何参数时如何读取stdin?

来自分类Dev

即使未使用参数,创建对象时内存空间是否“锁定”?

来自分类Dev

使用资源服务时如何传递参数?

来自分类Dev

使用.agg()方法时如何传递参数?

来自分类Dev

为什么从提供者未传递任何值时,react-context返回未定义,而不是返回默认值?

来自分类Dev

使用可变参数宏和函数时,“未初始化的值是由堆栈分配创建的”

来自分类Dev

创建新数组时未捕获的 TypeError,使用警报检查值

Related 相关文章

  1. 1

    使用CSJS创建新的标签面板时如何传递值

  2. 2

    当传递“无”或不传递任何参数时,如何在函数中接受默认参数?

  3. 3

    如果未传递任何参数,则在构造函数中创建默认值-javascript

  4. 4

    在python中创建使用**(双星)语法的对象时如何传递额外的参数?

  5. 5

    在python中创建使用**(双星)语法的对象时如何传递额外的参数?

  6. 6

    更新时从空值创建默认对象

  7. 7

    使用参数创建新的Powershell会话时保留$ null值

  8. 8

    创建对象向量时,如何将参数传递给Default或Copy Constructor以初始化值?

  9. 9

    Laravel创建雄辩的对象时从空值创建默认对象

  10. 10

    Laravel创建雄辩的对象时从空值创建默认对象

  11. 11

    在请求网址中未传递任何参数时,如何获取所有结果

  12. 12

    尝试传递数组和隐藏字段以创建新对象时,不断收到“参数丢失错误”

  13. 13

    创建新表时表未显示任何内容

  14. 14

    如何在将哈希作为参数传递给 ruby 方法时设置默认值?

  15. 15

    创建新类时如何查看参数?

  16. 16

    创建新对象后如何获取对象的默认值?

  17. 17

    JavaScript 默认参数:不传递任何值

  18. 18

    使用object.create制作对象时创建默认参数

  19. 19

    在创建新对象时使用“尝试并捕获”

  20. 20

    创建新表时,如何默认具有其他表的列值的列?

  21. 21

    如何在创建新实例时为外部提供默认值

  22. 22

    当其他任何几列中的值均为TRUE(或1)时,使用mutate()创建新列

  23. 23

    没有传递任何参数时如何读取stdin?

  24. 24

    即使未使用参数,创建对象时内存空间是否“锁定”?

  25. 25

    使用资源服务时如何传递参数?

  26. 26

    使用.agg()方法时如何传递参数?

  27. 27

    为什么从提供者未传递任何值时,react-context返回未定义,而不是返回默认值?

  28. 28

    使用可变参数宏和函数时,“未初始化的值是由堆栈分配创建的”

  29. 29

    创建新数组时未捕获的 TypeError,使用警报检查值

热门标签

归档