Я пытаюсь развить свои навыки JS и начать использовать ES6.
Я понимаю, что вы можете назначить значения по умолчанию, и я пытаюсь это сделать в модуле:
export var updateWidget = function (type = 'image', {
previewId = '.image-preview',
filepath = 'content/articles',
baseUrl = 'http://dummy.com',
thumbSize = '400x400'
}) {
var options = {
previewId: previewId,
type: type
},
fileElements = {
filepath: filepath,
thumbPath: null,
baseUrl: baseUrl,
thumbSize: thumbSize
},
}
Если я затем инициирую объект следующим образом:
new updateWidget('image'
).update('5059-081.png');
, я получаю cannot read property undefined
, относящийся к объекту по умолчанию. Если я сделаю это:
new updateWidget('image', {}
).update('5059-081.png');
Это работает.
Кажется странным, что мне нужно передать пустой объект в модуль, чтобы заставить это работать, я бы ожидал оставить его в целом, настройки по умолчанию все еще работали бы.
Я ищу, чтобы обновить текущий шаблон модуля, который я использую, чтобы полностью использовать ES6, но по одному шагу за раз.
Итак, как мне установить по умолчанию и только опционально нужно отправить объект? Какая лучшая практика?
Спасибо