set中 val = newVal 不会引起无限循环吗

来源:4-2 响应式对象(上)

慕盖茨9754587

2019-11-04

想问在Object.defineProperty中的set定义中,每次触发set就改变了val的值,改变val又触发set,不会无限循环吗?

写回答

1回答

ustbhuangyi

2019-11-04

你是对 obj[key] 定义了 setter,val 只是作为初始值的变量保存,然后在每一次 setter 触发后更新 val 的值,为了对比新旧值是否相同。所以只有对 obj[key] 的修改会触发 setter,修改 val 是不会触发 setter 的。

0
0

Vue.js 源码深入解析 深入理解Vue实现原理

全方位讲解 Vue.js 源码,进阶高级工程师

4984 学习 · 1037 问题

查看课程