Javascript 使用可重用函数检查typescript中的array而不是array.isArray是否引发错误

Javascript 使用可重用函数检查typescript中的array而不是array.isArray是否引发错误,javascript,typescript,Javascript,Typescript,在typescript中,如果我使用这个 Array.isArray(value) ? [value] : value …很好用。但是如果我使用一个实用函数来检查它是否是数组,那么Typescript会发出错误消息,类型为Item[]| Item[]的参数不能分配给类型为Item | Item[] const isArray = (value: any) => Array.isArray(value) isArray(value) ? [value] : value // Throws

在typescript中,如果我使用这个

Array.isArray(value) ? [value] : value
…很好用。但是如果我使用一个实用函数来检查它是否是数组,那么Typescript会发出错误消息,类型为Item[]| Item[]的参数不能分配给类型为Item | Item[]

const isArray = (value: any) => Array.isArray(value)

isArray(value) ? [value] : value // Throws error
尝试:


您可以了解这一点

Try
const isArray=(value:any):value是any[]=>Array.isArray(value)
为什么不干脆
const{isArray}=Array
?假设函数只做一件事。或者这只是一个例子?@LionelRowe这只是我个人的偏好,我喜欢在一个文件中包含像检查数组、字符串这样简单的所有实用程序函数。。。在这种情况下,可以使用
const{isArray}=Array
。不需要创建新函数来调用现有函数。
const isArray = (value: any): value is any[] => Array.isArray(value)