【发布时间】:2016-04-07 23:13:17
【问题描述】:
为什么这在 Node.js 控制台中有效(在 4.1.1 和 5.3.0 中测试),但在浏览器中无效(在 Chrome 中测试)?
此代码块应创建并调用记录Ok 的匿名函数。
() => {
console.log('Ok');
}()
此外,虽然上述 在 Node.js 中有效,但这不起作用:
n => {
console.log('Ok');
}()
也不是这样:
(n) => {
console.log('Ok');
}()
奇怪的是,当添加参数时,它实际上在立即调用部分抛出了SyntaxError。
【问题讨论】:
-
好问题。两个参数化版本都适用于 Babel
-
出于兴趣,
(n => { console.log("Ok"); })();有效吗? -
是的
(n => { console.log("Ok"); })()甚至可以在 Chrome 开发控制台中使用 -
等,3 年后,答案是?肯定应该接受以下 3 个答案之一吗?!
-
@joedotnot 我没有得到明确的答案,主要是它在 Node.js 中的一个奇怪的实现。看起来在
Node.js的最新版本中,第一个版本不再工作了。
标签: javascript node.js arrow-functions