Javascript Spread 运算符与 return 一起使用

问题描述 投票:0回答:1

我对这里如何使用扩展运算符感到困惑。我对价差运算符的工作原理有基本的了解,但我对价差运算符所指的内容、它的使用方式以及它提供的功能感到困惑。 “userCanDecline”常量是从上述调用中检索到的布尔值。如果我可以提供有关我分享的内容的更多信息,请告诉我。

return [
                ...(userCanDecline
                    ? [
                          {
                              label: 'Decline Draw',
                              icon: 'ban',
                              action: () => (el, ev) => {
                                  Service.decline(this.onCloseView);
                              },
                          },
                      ]
                    : [])
javascript spread-syntax
1个回答
1
投票

当对象或数组中的所有元素需要包含在某种列表中时,可以使用扩展语法。

let arr1 = [0, 1, 2];
const arr2 = [3, 4, 5];
arr1 = [...arr1, ...arr2];

在你的问题中,发生的情况是,检查 userCanDeclined 的值是否为 true,如果是,则返回一个数组,其中传播下面的数组(其值复制到新返回的数组中)

 [
  { 
    label: 'Decline Draw',
    icon: 'ban',
    action: () => (el, ev) => {
           Service.decline(this.onCloseView);
        },
   }
  ]

否则,如果为 false,则展开或复制一个空数组

  []
© www.soinside.com 2019 - 2024. All rights reserved.