在我的代码中,我有一些东西可以归结为:
var x = y || ()=>{};
(如果你想知道,我稍后会调用x()
并且y
可能被定义为一个函数,也可能不是,所以如果不是,我不希望抛出 TypeError。)
出于某种原因,这会导致
语法错误:意外的令牌)
为什么?我发现
var x = y || (()=>{});
工作得很好,但是
y || ()=>{}
不工作。这是指定的,还是 V8 或 Chrome 中的错误?(我仅在最新版本的 Chrome 稳定版中对此进行了测试。)