【发布时间】:2020-04-17 09:39:29
【问题描述】:
我正在努力发展我的 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 的当前模块模式,但一步一步来。
那么,我怎样才能设置默认值并且只需要发送一个对象呢?最佳做法是什么?
谢谢
【问题讨论】:
标签: javascript ecmascript-6 es6-modules