JS使用构造函数在对象中创建对象

JS creating object in object with constructor

本文关键字:对象 创建对象 构造函数 JS      更新时间:2023-09-26

>我在将属性分配给使用构造函数 INSIDE 其他函数创建的对象时遇到问题

   var something = {
    property1: 'sth',
    object: new Object()
    }

它可以在对象内创建对象,但是每次我尝试将属性分配给对象中的对象时,例如

var something = {
    property1: 'sth',
    object: new Object(),
    object.property: 'anything'
    }

它显示错误,未捕获语法错误:意外令牌。 ,albo 尝试使用 object['property'],但显示"意外令牌 [",那么我该如何分配它?

您可以通过两个步骤完成:

var something = {
  property1: 'sth',
  object: new Object(),
};
something.object.property = 'anything';

或者使用 Object.assign 将属性合并到创建的对象中:

var something = {
  property1: 'sth',
  object: Object.assign(new Object(), {
    property: 'anything',
  }),
};

当然,如果您是创建对象的人(而不是创建对象的第三方函数),则无需使用 new Object 。只需使用对象文字即可。