38

考虑 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
4

1 回答 1

62

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

var x = (t) => ({ n: t });
于 2013-11-04T16:23:39.803 回答