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

推荐答案

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

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

Typescript相关问答推荐

替换类型脚本类型中的多个特定字符串

Tailwind CSS样式不在Svelte应用程序中呈现

如果在TypeScript中一个原始的类方法是递归的,如何使用类decorator 模式?

如何将联合文字类型限制为文字类型之一

单击并移除for循环中的一项也会影响另一项

泛型类型,引用其具有不同类型的属性之一

状态更新后未触发特定元素的Reaction CSS转换

Material UI / MUI系统:我如何告诉TypeScript主题是由提供程序传递的?

<;T扩展布尔值>;

使用Dockerfile运行Vite React应用程序时访问env变量

如何将别名添加到vitest配置文件?

不带其他属性的精确函数返回类型

打字脚本中的模块化或命名空间

如何在不违反挂钩规则的情况下动态更改显示内容(带有状态)?

如何将通用接口的键正确设置为接口的键

基于泛型的类型脚本修改类型

可以将JS文件放在tsconfig';s includes/files属性?或者,我如何让tsc判断TS项目中的JS文件?

如何使用 runInInjectionContext 中的参数测试功能性路由防护

TS 条件类型无法识别条件参数

const nav: typechecking = useNavigation() 和 const nav = useNavigation() 之间有什么区别?