【发布时间】:2020-08-31 20:37:11
【问题描述】:
例如,如果我们想要一个添加两个值的函数,我们可以使用 ES6 箭头语法以两种方式编写它:
const addShort = () => 1 + 1
const addLong = () => {
1 + 1
}
在第一种情况下,我们得到的返回值为 2,而在第二种情况下,返回值是未定义的。
addShort 的返回值是否对性能、内存或类似因素有任何影响?我们应该避免返回我们不需要的值吗?
【问题讨论】:
-
如果编译器不优化它,未使用的返回值可能会增加一些额外的处理。但这在 99.9% 的情况下绝对无关紧要——编写干净、可读的代码比担心性能要好,除非事情运行缓慢并且您需要确定瓶颈。 (但不会是这样)
-
根据你将如何使用它来编写函数。
-
如果你想知道......打开引擎的源代码并弄清楚。我非常怀疑它在正常情况下会产生任何明显的差异。使用该示例代码,引擎甚至可能不会运行您的一个功能,因为代码什么都不做。
-
第二个版本仍然返回一些东西:它返回
undefined。
标签: javascript ecmascript-6 computer-science