Это object destructuring с заданным значением по умолчанию.
Если вы передаете OBJ как
{ size: true }
вы можете получить доступ к «размер» внутри конструктора, как обычная переменная
export class Modal {
constructor($modal, {size = null } = {}) {
console.log(size); // prints the size value from the given object
}
}
Если вы ничего не передать или передать объект без «размера» размер будет нулевым. Вы можете сделать больше таких назначений. Просто разделите их запятыми.
Пример:
constructor($modal, { size = null, foo, bar = "test" } = {})
В этом случае, если вы передаете объект без свойств «Foo» будет определено, остальные действует как я уже упоминал выше.
Также стоит упомянуть, что вы должны добавить = {}
в конце назначения деструктурирования в объявлении constructor
. Это в случае, если вы ничего не пропускаете. В противном случае вам придется передать какой-нибудь объект (может быть пустым).
Возможный дубликат [Где я могу получить информацию о синтаксисе параметра объекта для функций javascript?] (Http://stackoverflow.com/q/10804982/1048572) и [что делает (состояние = {}) => состояние означает] (http://stackoverflow.com/q/35526463/1048572) – Bergi