Javascript 打印对象提供的值与打印该对象的属性不同

Javascript 打印对象提供的值与打印该对象的属性不同,javascript,typescript,interface,Javascript,Typescript,Interface,在我的typescript文件中有一个奇怪的情况,这两个console.info调用分别显示overage的值: this.rows[index].overage=17; console.info(this.rows[index].overage); console.info(this.rows[index]); 第一个打印输出显示17的预期值。第二个是显示整个对象的位置,显示旧值90表示超龄。这怎么可能 行的定义如下: 行:UsageDisplayData[]; 导出接口用法DisplayD

在我的typescript文件中有一个奇怪的情况,这两个
console.info
调用分别显示
overage
的值:

this.rows[index].overage=17;
console.info(this.rows[index].overage);
console.info(this.rows[index]);
第一个打印输出显示17的预期值。第二个是显示整个对象的位置,显示旧值90表示超龄。这怎么可能

行的定义如下:

行:UsageDisplayData[];
导出接口用法DisplayData{
id:编号;
超龄:人数;
//一堆其他属性
}

如果没有MVCE,很难说到底发生了什么,但是开发人员控制台中的扩展视图通常是“实时”视图,因此将显示最新的值。例如:

let obj = { m: 17 };
console.info(obj.m);
console.info(obj);
obj.m = 90;

如果没有MVCE,很难说到底发生了什么,但是开发人员控制台中的扩展视图通常是“实时”视图,因此将显示最新的值。例如:

let obj = { m: 17 };
console.info(obj.m);
console.info(obj);
obj.m = 90;

是的,事情就是这样。您可以使用
console.log(JSON.parse(JSON.stringify(myObj)))
记录对象在给定时间的状态。是的,就是这样。您可以使用
console.log(JSON.parse(JSON.stringify(myObj))
记录对象在给定时间的状态。