dan*_*y74 16 typescript eslint tslint
我收到 lint 错误:
不要使用对象作为类型
当我使用对象作为类型时,示例如下:
export const myFunc = (obj: object): string => {
return obj.toString()
}
Run Code Online (Sandbox Code Playgroud)
知道我应该为具有未知属性的对象赋予什么类型吗?
如果有帮助的话,有问题的对象不是一个数组(我知道它严格来说是 JS 中的一个对象)
提前致谢
我认为这里最好的方法是使用通用的:
export const myFunc = <T extends { toString: () => string }>(obj: T): string => {
return obj.toString()
}
myFunc(2) // no error
myFunc({}) // no error
Run Code Online (Sandbox Code Playgroud)
如果您想将参数限制为仅对象,那么是的,@Evert 的解决方案是好的。但为了类型安全,最好使用unknown
而不是any
:
Record<string, unknown>
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
14248 次 |
最近记录: |