与打印该对象的属性相比,打印对象提供的值不同

时间:2019-01-04 19:53:18

标签: javascript typescript interface

我在打字稿文件中遇到一种奇怪的情况,这两个console.info调用显示了overage的不同值:

this.rows[index].overage = 17;
console.info(this.rows[index].overage);
console.info(this.rows[index]);

第一个打印输出显示期望值17。第二个打印输出显示整个对象,显示超出的旧值90。那怎么可能?

行的定义如下:

rows: UsageDisplayData[];

export interface UsageDisplayData {
    id: number;
    overage: number;
    // A bunch of other properties
}

1 个答案:

答案 0 :(得分:2)

没有MVCE很难确切说明正在发生的事情,但是在开发者控制台中展开的视图通常是“实时”视图,因此可以显示最新的值。示例:

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

enter image description here