好奇怪,为什么vue中给data赋值会影响console.log输出的数据格式

1011382654
  • 113

为什么赋值会影响console.log输出的数据格式,没赋值输出没带get、set
图片描述

图片描述

输出带get、set,注释掉后就正常

图片描述

图片描述

回复
阅读 2.1k
2 个回答

vue源码的实现data中数据的监听,自动添加了数据劫持

JS 里面,指向对象的变量,里面实际是引用。把变量 a 的值赋给 b,实际上传递的也是引用,所以 a 和 b 指向的是同一个对象,可以用以下代码理解:

const a = {};
const b = a;
b.a = 1;
console.log(a)
// => {a: 1}

所以你把 response.data 赋给本地变量 good_show,本地变量是响应式的,Vue 就会自动把赋给它的值进行响应式处理。所以你输出到控制台里,看到的就是处理后的对象,都被改造成 setter/getter 了。

你知道吗?

宣传栏