typescript检查对象不为空,没有任何对象定义



下面是我当前的代码:

interface ObjectIsEmptyProps {
[index: string]: number | string;
}
export const objectIsEmpty = (a: ObjectIsEmptyProps) => a &&  
Object.keys(a).length > 

我需要检查一个对象,它可能有许多属性提供给它。所以三个可能的函数调用的例子是:

objectIsEmpty({}) //true
objectIsEmpty({ jamie: 'hutber' }) //false
objectIsEmpty({fank: 'skinner', jamie: 'hutber' }) //false
objectIsEmpty({anArray: [], aBoolie: false, chickenSkin: 'isGreat'}) //false

所以我的函数可以接受一个具有未确定属性集的对象。目前唯一能让我满意的方法是使用any作为参数的类型。

我怎么能支持任意数量的对象属性而不使用任何?

我不确定我完全理解了这个问题。但是,您可以使用Record实用程序吗?

export const objectIsEmpty = (a: Record<string, unknown>) => {
return Object.keys(a).length === 0
}

相关内容

最新更新