我有:
const fs = require('fs');
const packageConfig = JSON.parse(fs.readFileSync('./package.json'));
const { jspm: { configFile: jspmConfigFile }} = packageConfig;
但
packageConfig
的 configFile
值可能未定义。在这种情况下,我想将 jspmConfigFile
默认为 'config.js
是否可以在不创建扩展 packageConfig 对象的情况下执行此操作?
我意识到我可以做这样的事情:
const { jspm: { configFile: jspmConfigFile }} = _.extend({
jspm: { config: 'config.js'}
}, packageConfig);
但这非常困惑,只是为了通过解构获得合理的默认值。
我错过了什么?
最佳答案
对象解构中默认值的语法是:
const { jspm: { configFile: jspmConfigFile = 'config.js' }} = packageConfig;
但这还没有在 Firefox 中实现:https://bugzilla.mozilla.org/show_bug.cgi?id=932080
关于javascript - ES6 解构对象,不用作函数参数时赋值时的默认值?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/32937767/