如何解决获取类型的属性
我找不到在运行时查找某个类型是否存在某个属性的方法。像这样(伪代码)
import { MyType } from '@prisma/client';
MyType.hasProperty("foo") // true/false
MyType.allProperties() // ["foo","bar","stuff"]
有没有人知道一个好的解决方案?提前谢谢你!
解决方法
类型在运行时不存在。但是您仍然可以检查运行时存在的对象。您可以使用 in
运算符检查对象是否包含特定属性,并且您可以使用 Object.keys(someObj)
将对象上的所有键作为数组获取。
const foo = { a: 123,b: 'bar' }
'a' in foo // true
Object.keys(foo) // ['a','b']
您不能做的是从类型或接口获取此信息。它必须是运行时存在的真实对象。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。