// code snippets1
var obj = {a: 'aa'}
function reactive(obj, key, value) {
Object.defineProperty(obj, key, {
enumerable: true,
configurable: true,
get() {
return value
},
set(val) {
value = val
}
})
}
function observe(obj) {
Object.keys(obj).map((key, index) => {
reactive(obj, key, obj[key])
})
}
observe(obj)
obj.a //'aa'
obj.a ='bb' //'bb'
// code snippets2
var obj = {a: 'aa'}
function reactive(obj, key, value) {
value = 'bb'
}
function observe(obj) {
Object.keys(obj).map((key, index) => {
reactive(obj, key, obj[key])
})
}
observe(obj)
obj.a //'aa'
code snippets2 показывает значение параметра, передаваемое параметром, почему два фрагмента кода получают разные результаты?