Как добавить машинописный тип в функцию стрелки ES6? - PullRequest
0 голосов
/ 08 октября 2018

В настоящее время мне нужно обновить 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 без определения других переменных?

1 Ответ

0 голосов
/ 09 октября 2018

TypeScript не имеет встроенного синтаксиса, чтобы комментировать, что функция стрелки (или любое другое выражение) имеет данный общий тип без объявления отдельной переменной.(Если вы используете утверждение типа, вы можете непреднамеренно преуменьшать выражение, поскольку утверждения типа допускают как повышение, так и снижение.) Одна вещь, которую вы можете сделать, это использовать функцию идентификации:

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

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