This is how I using Object.defineProperties to generate an objct:
var obj = {
t3: 3,
t1: Object.defineProperties({}, {
getT3: {
value: function () {
console.log(this.t3);
}
},
t2: {
value: this.t3
},
t3: {
value: 4
}
})
}
Now I want to print the obj.t1.t2 value: console.log(obj.t1.t2), but the return result is undefined
But I can using the obj.t1.getT3() method to obtain the obj.t1.t3's value;
Why the t3 assignment to t2 doesn't work in Object.defineProperties?
DEMO is here: http://jsfiddle.net/HrLLQ/