Javascript では、rotationSetting を手動で更新するたびに、rotation.rotationSetting = 7 のように、speed.steps# がオブジェクトによって自動的に更新されるようにしようとしています。
現在、rotationSetting はオブジェクトではないため、「Uncaught TypeError: Object.defineProperties called on-object」というエラーが表示されます。どうすればこれを回避し、目的を達成できますか?
var rotation = function() {
var rotationId;
var rotationList = [];
var rotationSetting = 3;
var speed = {
step1 : 0,
step2 : 0,
step3 : 0,
step4 : 0,
}
Object.defineProperties(rotationSetting, {
set: function(rotationSetting, speed) {
this.step1 = rotationSetting * 1000;
this.step2 = this.step1 + 1000;
this.step3 = this.step2 + this.step1;
this.step4 = this.step3 + 1000;
}
})
return {
rotationId : rotationId,
rotationList : rotationList,
rotationSetting : rotationSetting,
speed : speed,
}
}();