最好的做法是:导出

问题描述 投票:0回答:2
或导出常规功能,例如:

export function baz() {
  return 'bar';
}

它们像这样:
exports.baz = baz;
function baz() {
  return 'bar';
}
var foo = exports.foo = function foo() {
  return 'bar';
};

看起来就像使用const/箭头函数组合声明了一个额外的变量(
foo
),这似乎是简单函数声明的不必要的额外步骤。

差异很小。两者都声明一个变量。

a

const
变量在您的模块中也是恒定的,而理论上的函数声明可以从模块内部覆盖

箭头函数是
ecmascript-6 babeljs
2个回答
67
投票
,分配可能会导致循环依赖性问题

箭头函数不能成为构造函数或使用动态
    this
  • 
    
  • 如果您使用简洁的主体,则箭头功能短几个字符,如果使用块主体,则更长的字符。
  • 函数声明更好地表达了可召唤的意图。存储在A中的箭头函数可能会在其他constss中丢失。
  • 模块本身中的一个显着差异是
    const
    是不提起的,因此您在声明它之前不能使用
    export const foo = () => 'bar'
  • ,否则您将获得此错误:
  • foo()
  • .
  • 如果您使用
    Block-scoped variable 'foo' used before its declaration
    虽然很好,但是您可以在文件中的任何地方,甚至在声明之前使用
    export function baz() { return 'bar'; }
  • ,因为它升起了。

0
投票
最新问题
© www.soinside.com 2019 - 2025. All rights reserved.