返回对象文字的TypeScript lambda的最简单语法

时间:2013-11-04 16:16:01

标签: typescript

考虑JavaScript函数:

function(o) { return o.a; }

在TypeScript中,以下简写是等效的:

o => o.a

有没有办法将这种速记应用于以下功能?

function(o) { return { a: o.a, b: o.b }; }

明显的转换不起作用,因为左括号({)被解释为表示需要一个块:

o => { a: o.a, b: o.b }                // doesn't work

o => { return { a: o.a, b: o.b }; }    // works

1 个答案:

答案 0 :(得分:50)

在这种情况下,没有办法让语法解释{作为对象文字而不是块语句,但你可以使用括号来强制它被解释为表达式:

var x = (t) => ({ n: t });