命名函数表达式与es6中的let或const?

diE*_*cho 2 function ecmascript-6

我改变我的ES5代码ES6在我的角1.6文件(S),所以使用开始letconst代替的var,但很困惑的命名函数表达式是否应该const还是let

es5

var foo = function () { ... }
Run Code Online (Sandbox Code Playgroud)

es6

let foo = () => { ... }
Run Code Online (Sandbox Code Playgroud)

要么

const foo = () => { ... }
Run Code Online (Sandbox Code Playgroud)

混合letconst在同一个js文件中使用命名函数是否会影响性能,还是应该坚持使用var

据我了解,函数是在一个JS文件中始终不变的东西,因此我们可以使用const

请给出一些有用的解释。

小智 5

无论是分配函数还是任何其他值,constvs 。的规则let都是相同的。如果您不想或不想更改该值(对于函数几乎总是这样),请使用const。但是,请注意,虽然不太可能影响您,但起吊行为有所不同。

任何性能差异都可以忽略不计。