正如我从 ES2015 语法中看到的,这个表达式不是一个有效的表达式:
() => { console.log("hello"); } ();
您至少需要加上括号:
(() => { console.log("hello"); }) ();
Chrome 在第一个示例中失败,并显示 Uncaught SyntaxError: Unexpected token (
但 Babel 对此表示同意。为什么?
最佳答案
But Babel is ok with that. Why?
因为 Babel 有 bug :-) 请参阅 https://phabricator.babeljs.io/T2118和 https://phabricator.babeljs.io/T2027 。如果我理解正确的话,它是在 Babel 6 中修复的 - 这是一个相当重大的改变。
关于javascript - 为什么 Babel 解析箭头函数的 IIFE,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34337693/