当前位置: 首页 > 知识库问答 >
问题:

如何通过指定每个属性及其值来实例化TypeScript中的对象?

凤高澹
2023-03-14

下面是我在服务中实例化一个新的内容对象的一个片段:

const newContent = new Content(
     result.obj.name
     result.obj.user.firstName,
     result.obj._id,
     result.obj.user._id,
);

问题在于,这种对象实例化方式依赖于我的内容模型中属性的顺序。我想知道是否有办法将每个属性映射到我想设置的值,例如:

 const newContent = new Content(
     name: result.obj.name,
     user: result.obj.user.
     content_id: result.obj._id,
     user_id: result.obj.user._id,
 );

共有2个答案

慕宜民
2023-03-14

您可以将对象传递给构造函数,该构造函数封装所有这些变量:

type ContentData = {
    name: string;
    user: string;
    content_id: string;
    user_id: string;
}

class Content {
    constructor(data: ContentData) {
        ...
    }
}

然后呢:

const newContent = new Content({
     name: result.obj.name,
     user: result.obj.user.
     content_id: result.obj._id,
     user_id: result.obj.user._id,
});
尚景焕
2023-03-14
const newContent = <Content>({
    name: result.obj.name,
    user: result.obj.user.
    content_id: result.obj._id,
    user_id: result.obj.user._id,
 });

在这里,您可以实例化一个对象,并对内容类型使用类型断言或强制转换。有关类型断言的详细信息:https://www.typescriptlang.org/docs/handbook/basic-types.html#type-断言

 类似资料:
  • 我有一个本体,是使用Protegé4.3.0创建的,我将使用OWL-API为指定的个体和对象属性表达式获取对象属性值(即一组对象)。

  • 在 PowerShell 中,如何通过指定对象的名称(字符串)来获取对象的属性值?我想要类似这样的东西: 是否有类似于“获取属性名称”的内容?

  • 我想给一个对象里所有值为null的属性赋其它值,比如: 有没有大佬知道 assignDefaults 这个函数如何实现?

  • 问题内容: 因此,我最近开始涉足OOP,到目前为止一切进展顺利。虽然我本身没有任何问题,但我希望有一个令人惊奇的功能,尽管我找不到关于该功能的任何文档。 在为对象分配属性时,我经常发现我必须更改依赖于他人的属性,例如光明与黑暗。这是一个例子: 现在,尽管这很酷,但我想要的是相同的过程,但是如果一个属性发生更改,则在同一对象内。如果我重置光的属性(是的),我希望黑暗相应地增加/减少。如果可以更改光的

  • 比方上面的类型,如果我想要 value 的类型在type为 'string' 时为 string ,在 type 为 'number' 的时候为 number。 要怎么定义这两个属性之间的类型约束?

  • 本文向大家介绍通过实例解析javascript Date对象属性及方法,包括了通过实例解析javascript Date对象属性及方法的使用技巧和注意事项,需要的朋友参考一下 日常生活中,各种形式的时间字符到处都是。时间观念的产生,时间单位、计时工具的发明,给人类带来的变化实在一言难尽。今天就来谈谈日期那些事儿。一起来看看 JavaScript 中的日期对象 Date。 获取月份天数 Date 第