考虑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
答案 0 :(得分:50)
在这种情况下,没有办法让语法解释{作为对象文字而不是块语句,但你可以使用括号来强制它被解释为表达式:
var x = (t) => ({ n: t });