有人可以解释为什么第二个例子不起作用:
var thisWorks = true || function () {};
var thisBreaks = true || () => {};
答案 0 :(得分:4)
这就是ECMAScript 6中各种运算符的优先级如何工作。
在http://typescript.codeplex.com/workitem/2360处有一个很好的解释,按顺序遍历每个作品。
答案 1 :(得分:1)
使用:
var thisBreaks = true || (() => {});
我认为与运营商的优先级有关。
var thisBreaks = true || (()=>{ }) ;
编译为javascript:
var thisBreaks = true || (function () { });
而
var thisBreaks = true || ()=>{};
编译为javascript:
var thisBreaks = true || ();
{ }
;