JS:函数参数声明中的花括号是什么意思?

6
我是一位有用的助手,可以为您进行文本翻译。以下是需要翻译的内容:

我一直在关注这个教程,学习如何使用Redux设置React,并且注意到了一些我不熟悉的语法。函数参数定义中的花括号是做什么用的?

示例:

function Stream({ tracks = [], onAuth }) { #what is going on here?
  return (
    <div>
      ... #component stuff here
    </div>
  );
}

这是与React有关的吗?还是与Babel或其他库有关?我对这项技术很新,不确定发生了什么。

该函数将一个对象文本作为参数传递。 - Hopeless
这是什么意思?这意味着当调用该函数时,需要有一个对象字面量吗?如何将某些内容传递给这样的函数? - derigible
看起来像解构语法,但我不知道JavaScript有解构。如果是这样,该函数期望一个带有“tracks”字段的对象(但如果对象没有该字段,则可以默认为空列表),以及必须提供的“onAuth”字段。这基本上是一种更简洁的访问传递对象字段的方式。 - Carcigenicate
@Carcigenicate 这就是它的含义:https://developer.mozilla.org/zh-CN/docs/Web/JavaScript/Reference/Operators/Destructuring_assignment - derigible
如果您将此作为答案,我会将其标记为正确。在您提到之前,我甚至不知道这是在尝试做什么。 - derigible
显示剩余2条评论
1个回答

6

看起来像是解构语法,但我不知道javascript有解构。

如果是这样的话,函数期望一个带有tracks字段的对象(如果对象没有,则可以默认为空列表)和一个onAuth字段,后者将默认为undefined。这基本上是一种更简洁的访问传递对象字段的方式。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接