最近,我遇到了这段代码,在我更新babel依赖项之前,它运行良好。
const path = require('path');
module.exports = {
entry: './src/index.js',
output: {
filename: 'main.js',
path: path.resolve(__dirname, 'dist'),
publicPath: "",
library:"Hello",
libraryTarget:"umd",
globalObject: "this"
},
};
为使其再次起作用,我将代码更改为:-
const somefunc = ({ type }) => [
...type === 'image' && ['height'],
'name',
'text'
];
现在的问题是,在我们的代码中许多地方都使用了较旧的语法。另外,在社区或旧版ES或babel编译器中的任何地方都找不到这种语法。
答案 0 :(得分:0)
如注释中所述,这是一种有条件地将项目添加到数组的方法,但是如果条件为false
,则此代码将不起作用。可以使用三元运算符解决此问题:
const somefunc = ({ type }) => [
...type === 'image' ? ['height'] : [],
'name',
'text'
];
您的第二个选项也将无法正常工作,因为如果条件为false
,它将向阵列添加false
。