首页 > 解决方案 > 如何创建一个对象并将其分配给严格类型的变量?

问题描述

form: Insured: {
    firstName: response.primaryInsured.firstName,
    lastName: response.primaryInsured.lastName,
    dateofbirth: response.primaryInsured.dateOfBirth,
}

形式是对象的一部分,它需要一种被保险人。这里的语法错了吗?如何将这个新对象分配给表单?

这是我正在尝试制作的 C# 等价物

form = new Insured {
    FirstName = response.FirstName,
    LastName = response.LastName
};

标签: typescript

解决方案


您在声明变量时设置类型,您没有显示。例如:

let form: Insured;

然后在将对象分配给它时,如果Insured只是一个类型(并且您现在已经确认它是),则在分配中根本不包含类型:

form = {
    firstName: response.primaryInsured.firstName,
    lastName: response.primaryInsured.lastName,
    dateofbirth: response.primaryInsured.dateOfBirth,
};

你可以结合这些:

let form: Insured = {
    firstName: response.primaryInsured.firstName,
    lastName: response.primaryInsured.lastName,
    dateofbirth: response.primaryInsured.dateOfBirth,
};

如果Insured是一个类构造函数,你会这样做:

form = new Insured(/*...arguments here...*/);

...哪里/*...arguments here...*/取决于构造函数的编写方式。如果它被写入按照您显示的顺序接受参数,那么:

form = new Insured(
    response.primaryInsured.firstName,
    response.primaryInsured.lastName,
    response.primaryInsured.dateOfBirth,
);

同样,您可以组合这些,在这种情况下您不需要指定类型,TypeScript 会推断它:

let form = new Insured(/*...arguments here...*/);
// or to be explicit
let form: Insured = new Insured(/*...arguments here...*/);

(您现在已经确认它是一个类型,而不是一个类)


推荐阅读