JS传播和休息运算符的运算符优先级?

Sco*_*ner 6 javascript ecmascript-6

我很好奇Spread和Rest运算符在Javascript中的优先级:https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Operators/Spread_operator

我试图在MDN的Operator Precedence表(https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Operators/Operator_Precedence#Table)上找到它们,但除非它们是现有运算符的子类别类型,我没有看到它们.我找不到任何其他明显的文档.

Ber*_*rgi 13

Spread语法不是运算符,因此没有优先级.

它是数组文字和函数调用(和对象文字)语法的一部分.

类似地,rest语法是数组解构和函数参数(以及对象解构)语法的一部分.

  • 我试图看看我是否可以这样做:`func(...args || [])`。有用 (3认同)
  • @HaiPhan是的,您可以执行`func(... anyExpression)`,其中对* any expression *的唯一限制是它一定不能是逗号运算符表达式(将其视为参数定界符)。 (2认同)