gpt4 book ai didi

typescript - 如何检查对象是否为 typescript 中的自定义类型?

转载 作者:行者123 更新时间:2023-12-05 04:46:19 26 4
gpt4 key购买 nike

我四处寻找,但找不到任何方法来检查给定对象是否属于某种自定义类型。例如,我这样声明 Human 类型:

类型 A = { 名称:字符串;年龄:数字; }

然后我想要一个函数来接收一个对象并决定它是否是 Human 类型。像这样的东西:

isOfTypeHuman = (input) => typeof input === Human

我觉得这不可能,但我想我可能漏掉了什么。有什么想法吗?

最佳答案

类型在运行时不存在。它们仅在编译时有用,之后会被剥离。

您需要检查自己:

// if it quacks like a duck..
isOfTypeHuman = (input) => input.name !== undefined && input.age !== undefined

您还可以使用用户定义的类型保护来让其余代码知道这是一个人类

isOfTypeHuman = (input: any): input is Human => input.name !== undefined && input.age !== undefined

关于typescript - 如何检查对象是否为 typescript 中的自定义类型?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/68880132/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com