繁体   English   中英

如何将打字稿类型添加到ES6箭头功能?

[英]How to add typescript type to ES6 arrow function?

如今,我需要将javascript代码更新为打字稿。

但是我发现了一个问题。

以前,我在项目前使用很多箭头功能。 现在,我需要为其中的许多添加类型定义,如下所示:

(a: number): string => { return `${a}` }

通过使用许多npm软件包,该软件包提供的功能类型如下:

export declare type AAACallback = (a: number) => string

我想将功能类型用于es6箭头功能。

也许你这样说:

let a: AAACallback = a => { return `${a}` }

// then use a

但是我根本不需要定义a。

那么,您是否可以在不定义其他变量的情况下将函数定义与es6箭头函数一起使用?

TypeScript没有内置语法来注释箭头函数(或任何其他表达式)具有给定的整体类型,而无需声明单独的变量。 (如果使用类型断言,则由于类型断言既允许向上转换又可以向下转换,因此您可能无意中向下转换了表达式。)您可以做的一件事是使用标识函数:

function id<T>(arg: T) { return arg; }

element.addEventListener('click', id<AAACallback>(event => {}), false)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM