javascript - 打印对象给出的值与打印该对象的属性不同

标签 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。这怎么可能?

行的定义如下:

rows: UsageDisplayData[];

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

最佳答案

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

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

enter image description here

关于javascript - 打印对象给出的值与打印该对象的属性不同,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54045199/

相关文章:

Java multiple extends Zk Component 变得非常冗长

javascript - jQuery 不会在 Firefox WebExtensions 中添加事件监听器

javascript - 确认后使div在JavaScript中不可见

javascript - 所有 NextJS 页面都有几乎相同的 JS 包大小

typescript - 如何使用类型保护解析接口(interface)的 typescript 联合类型

Typescript 1.7+ 如何添加String原型(prototype)函数?

interface - 了解界面

javascript - Webpack 不会将我使用的图像复制到 react 组件中

javascript - 有没有办法将 Vuex 商店封装在 Vue 插件中(它的安装功能)?

php - 多个不相关接口(interface)的类型提示