为什么在调用getColumns时'isInRole'不是函数?

时间:2019-06-03 16:49:52

标签: javascript arrays babel spread

在类似这种情况的某些失败测试中偶然发现从babel 6过渡到babel 7(缩小到实际失败):

function isInRole() {
  return false;
}

var getColumns = () => [
  { headerName: 'header' }, 
  ...(isInRole() && [{ headerName: 'header2'}])
];

getColumns();

Chrome内的操作同样失败,因此想知道为什么在调用getColumns()时为什么'isInRole'不是函数?虽然我有下面的解决方法:

function isInRole() {
  return false;
}

var getColumns = () => [
  { headerName: 'header' }, 
  isInRole() && { headerName: 'header2'}
].filter(Boolean);

console.log(getColumns())

0 个答案:

没有答案