更新javascript对象中的moment.js对象而不更新值

更新javascript对象中的moment.js对象而不更新值,javascript,object,momentjs,updating,Javascript,Object,Momentjs,Updating,我正在创建一个新的Javascript对象,并将值传递到我希望该对象具有的构造函数中。一个值是力矩对象(包含日期),我可以看出日期是正确的(2017-05-09),但新构建的对象始终具有值2017-05-04。如果我在属性:object.start_date上执行console.log,那么我就能够看到正确的日期,但是如果我在对象上执行console.log,它会显示日期错误的时刻对象2017-05-04。我尝试过在构造函数中进行更新,在创建对象后手动对对象进行更新,或者使用新的实例函数更新已创

我正在创建一个新的Javascript对象,并将值传递到我希望该对象具有的构造函数中。一个值是力矩对象(包含日期),我可以看出日期是正确的(2017-05-09),但新构建的对象始终具有值2017-05-04。如果我在属性:object.start_date上执行console.log,那么我就能够看到正确的日期,但是如果我在对象上执行console.log,它会显示日期错误的时刻对象2017-05-04。我尝试过在构造函数中进行更新,在创建对象后手动对对象进行更新,或者使用新的实例函数更新已创建对象中的值,但是没有任何更改日期的操作。下面是一些代码/输出

主要问题:为什么力矩对象没有用我给它的正确值进行更新

多谢各位。 创建新路线的函数:

duplicateRouteSuccess(data) {
    let route = new Route(data['routeData']);

    route.changeStartDate(data['routeData']['starts_at']);
    console.log(route);
    console.log(route.starts_at);
    this.routeCalendar.scheduleRoute(route, route.repeats);
    this.close();
}
建造商:

  constructor (data) {
    this.id = data['id'];
    this.name = data['name'];
    this.starts_at = moment(data['starts_at']);
    this.repeats = data['repeats'];
    this.repeat_rate = data['repeat_rate'];

}

更新

对我的对象执行JSON.stringify确实表明它们都有相同的日期,2017-05-08。但我的问题是“当我访问属性object.start_date将对象设置到日历上时,为什么object.start_date会显示2017-05-04”?以下是stringify输出图像:

更新2

changeStartDate只是我创建的一个实例函数,试图第二次更新“starts_at”字段,因为它在route类的构造函数中似乎没有更新。下面是代码:

changeStartDate(start_date){
    this.starts_at = moment(start_date)
}

你能发布代码而不是图片吗?作为旁注,控制台日志可能有点误导,除非你完全理解对象旁边那个小(i)符号的含义。我建议尝试在对象的某些部分使用JSON.stringify来验证对象的内容。控制台日志通常会在您展开指针时显示指针的最后内容。添加了更多代码并删除了一些图片@choz感谢指针,我会在future@VladimirM我按照你的建议做了,并更新了我的问题。谢谢你为我指出这一点。以后调试时,我会记住一些很好的建议。但现在我仍然不明白,如果stringify版本正确,为什么在创建后访问对象会给我错误的日期。changeStartDate做什么?