Я пытаюсь определить конструктор со следующим поведением на качестве опции аргумента:Аргумент ES6 по умолчанию для пустого объекта?
class Test {
constructor({
someOption = 'foo',
otherOption = 'bar',
aSeedOfSomeSort = Math.random(),
// ...
}) {
console.log(
someOption, otherOption, aSeedOfSomeSort
);
}
}
new Test({someOption: 'lol'});
new Test({otherOption: 'derp'});
new Test({aSeedOfSomeSort: 0.5});
new Test({});
new Test(); // here's the problem
Это прекрасно работает, однако, я хочу, чтобы конструктор работать так, чтобы использовать все по умолчанию параметров, мне не нужно передавать пустой объект. Меня не волнует, что сам объект назван или нет в аргументах, но в контексте конструктора я хочу получить чистый способ прямого доступа ко всем параметрам без пространства имен или используя with
.
Возможно ли это?
Thanks Oriol! Не видел, что –