从 TypeScript 中的输入类型自动推断输出类型

问题描述 投票:0回答:0

如何根据数组的输入元素类型推断简单数组辅助函数的输出?我不想在使用时必须使用泛型,因为这会使代码过于复杂。

下面的代码是一个简单的辅助函数,它确保返回一个数组,无论是传递的数组还是空数组。这有助于推断可能的

undefined
值,这些值被假定为数组:

export const ensureArray = (arr?: unknown[]): unknown[] => (arr || [])

这看起来很基本,但我在一般情况下很难实现。我不想在使用时声明类型,la:

export const ensureArray = (arr?: T[]): T[] => (arr || [])

ensureArray<string>(possiblyUndefinedArrayOfStrings)

因为以上内容更难维护。我只想让代码根据传递的内容推断类型(因为它在传递之前已经定义)。

javascript typescript type-inference
© www.soinside.com 2019 - 2024. All rights reserved.