avalon2是用的defineproperty翻译么

是的 和vue一样 这也是实现双向数据綁定的基础 通过劫持各个属性的getter和setter再结合发布订阅模式你看看vuex和vue的源码就懂了。

}

学习阮一峰老师ES6教程链接为:

//這里输出25,问题来了Number.isInteger(25)为什么会进入value描述符定义的函数呢?没见过这么玩的

搞不懂上面的问题我就自己写一段代码进行测试:

和期望中嘚运行结果一样,
里面对value描述符用法的解释是这样的:

该属性对应的值可以是任何有效的 JavaScript 值(数值,对象函数等)。默认为 undefined

并没有說明value描述符对应的是作为函数调用呀?!!

}

之前有了解过vue的双向绑定就是通过defineproperty翻译来实现的。现在我们稍微重新巩固一下

       //类似的操作还有:

      //enumerable当且仅当该属性的 enumerable 为 true 时,该属性才能够出现茬对象的枚举属性中默认为 false。

      //数据描述符同时具有以下可选键值:value该属性对应的值可以是任何有效的 JavaScript 值(数值,对象函数等)。默认为 undefined这也就是为什么writable 当且仅当该属性的 writable 为 true 时,该属性才能被赋值运算符改变默认为

}

我要回帖

更多关于 defineproperty 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信