【发布时间】:2021-12-29 17:27:39
【问题描述】:
我对如何在这里使用展开运算符感到困惑。我对扩展运算符的工作原理有基本的了解,但我对扩展运算符所指的内容、使用方式以及提供的内容感到困惑。 “userCanDecline” const 是从上述调用中检索到的布尔值。如果我能提供更多关于我所分享内容的信息,请告诉我。
return [
...(userCanDecline
? [
{
label: 'Decline Draw',
icon: 'ban',
action: () => (el, ev) => {
Service.decline(this.onCloseView);
},
},
]
: [])
【问题讨论】:
-
真的没有理由。应该写成
return userCanDecline ? [{}] : []; -
没有传播算子,有spread syntax。
-
您有一个返回数组的 return 语句。然后它内部的扩展语法允许您执行检查,如果
userCanDecline评估为真,则返回另一个对象数组,否则返回一个空数组。?和:称为条件(三元)运算符。(userCanDecline.....)周围的圆括号也不是必需的。 -
扩展语法只是简单地复制条件运算符返回的数组。但是没有必要复制新创建的数组。
-
我会说这段代码是由一个不知道自己在做什么的人编写的。这不是一个很好的例子。
标签: javascript syntax spread