gpt4 book ai didi

javascript - TypeScript:在运行时区分未设置和不存在的属性

转载 作者:行者123 更新时间:2023-11-28 17:41:02 24 4
gpt4 key购买 nike

我有一个类,它具有已键入的属性,但没有设置默认值,例如:

export class Person {
age: number;
}

在运行时,我有一个 JSON 对象,我想根据类签名测试其属性,以确保它是该类的已定义属性之一。

{
"age": 42,
"propertyNotInClass": "oops!"
}

是否绝对有必要为类中的每个属性设置默认值才能进行测试?

[编辑]:在我当前的用例中,我只需要知道对象是否已定义。尽管我有兴趣知道该类型是否可以进行测试。我知道这不是 TypeScript 本身的一部分,因此会涉及某种欺骗。

最佳答案

TypeScript 只能帮助您捕获类型错误并强制在编译时实现某些接口(interface)。但是,它无法在运行时验证对象的结构。您必须使用普通 JavaScript 方式自行检查属性是否存在或者它们是否具有所需的值。

关于javascript - TypeScript:在运行时区分未设置和不存在的属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47934070/

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