Я пытаюсь передать параметры в новый конструктор класса, и параметры по умолчанию рассчитываются, если аргументы не передаются, хотя по-прежнему есть возможность передачи любого параметра по имени аргумента.
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'.
.
Как я могу использовать параметры по умолчанию и все еще иметь возможность использовать параметры без появления этой ошибки?