将Lambdas放入OR语句中

时间:2015-06-08 23:31:46

标签: typescript

有人可以解释为什么第二个例子不起作用:

var thisWorks = true || function () {};
var thisBreaks = true || () => {};

2 个答案:

答案 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 || ();
{ }
;

在这里试试自己: http://www.typescriptlang.org/Playground