当前位置: 首页 > 知识库问答 >
问题:

在脚本函数中 () 和 {} 之间有什么区别?[重复]

微生曾琪
2023-03-14

这些函数似乎在 React 教程中可以互换使用,但无法找出区别...或者什么时候使用哪个?

const SomeVal = () => {
    ...
}

const SomeVal = () => (
    ...
)

共有2个答案

龙俊良
2023-03-14

带有< code>const fn = () =的箭头函数

带有< code>const fn = () =的箭头函数

const sum = (a, b) => a + b;
const sum2 = (a, b) => (a + b);

const sumBlock = (a, b) => { return a + b; }

本质上,两者都做同样的事情。但是,如果只需要一条语句,后一种编写箭头函数的方法可以使代码稍微简洁一些。

曹均
2023-03-14

这些是根本不同的。以前的箭头函数语法 () =

() => {
  console.log('Hello!');
  return 'World!';
}
// When called, this logs Hello! and returns World!

但后者,() =

() => (
  'World' // only one expression that is implicitly returned
  // Would work fine without parentheses (unless you want to return an object!)
)
// When called, this function returns 'World'

当然,您也可以创建一个不可读的箭头函数,该函数使用逗号运算符执行多个操作:

() => (console.log('Hello!'), 'World!')

我假设您在React无状态组件中看到了这一点:

const Comp = () => (
  <div>Hello World!</div>
);

此函数(组件只是函数)返回

const Comp = () => {
  const msg = 'Hello World!';
  return ( // Need to explicitly return here
    <div>{msg}</div>
  );
}

 类似资料:
  • 我有一个谷歌表,我想从我们的服务器更新它的数据。目前我正在使用谷歌工作表脚本编辑器。 但是我开始意识到还有另一种方法可以更新我的谷歌表格。那就是使用谷歌表单apihttps://developers.google.com/sheets/api/samples/writinghttps://developers.google.com/sheets/api/reference/rest/https:/

  • 问题内容: 我一直在阅读iBooks中的快速编程指南。有人可以向我解释函数和闭包之间的区别是什么。只是它没有名称并且可以在表达式中使用? 问题答案: 函数实际上只是命名为闭包。以下至少在概念上是等效的: 在使用声明方法的情况下,这变得有些复杂,例如,关于自动插入公共命名参数等,添加了一些有趣的糖,例如,变为`func myMethod(foo:Int, #bar:Int, 但是,即使方法只是闭包的

  • 问题内容: OpenAI的强化学习的REINFORCE和actor-critic示例具有以下代码: 加强: 演员评论家: 一种正在使用,另一种正在使用。 据我所知,文档没有对它们之间进行任何明确的区分。 我很高兴知道这些功能之间的区别。 问题答案: 沿着 新的维度 连接张量序列。 在给 定维度上 连接给定序列张量的序列。 因此,如果和具有形状(3,4),则将具有形状(6,4),并将具有形状(2,3

  • 问题内容: 我对重排和重绘之间的区别还不清楚(如果有任何区别) 似乎重排可能正在转移各种DOM元素的位置,其中重画只是呈现一个新对象。例如,在移除元素时将发生回流,而在更改其颜色时将发生重新绘制。 这是真的? 问题答案: 至于定义,从那篇文章: 一个 重绘 更改时的元素皮肤改变明显制成,但不影响其布局发生。 这方面的例子包括 ,,,或。根据Opera的说法,重绘是昂贵的,因为浏览器必须验证DOM树

  • 问题内容: 在此示例中: 无法编译为: 而被编译器接受。 这个答案说明唯一的区别是,与不同,它允许您稍后引用类型,似乎并非如此。 是什么区别,并在这种情况下,为什么不第一编译? 问题答案: 通过使用以下签名定义方法: 并像这样调用它: 在jls§8.1.2中,我们发现(有趣的部分被我加粗了): 通用类声明定义了一组参数化类型(第4.5节), 每种可能通过类型arguments调用类型参数节的类型