을 변경할 수 없다 하는 방법은을 감지하지있다 이것은 올바른 대답이 아니지만 "해결 방법"thats는 나를 위해 잘 작동합니다. 어쩌면 누군가 다른 사람에게도 도움이 될 것입니다.
var events = require('events');
var myString = function(val){
this.myVal = val;
this.change = function(newVal)
{
if(newVal !== this.myVal){
this.myVal = newVal;
this.emit('changed');
}
}
this.val = function(){
return this.myVal;
}
};
myString.prototype.__proto__ = events.EventEmitter.prototype;
var doSomething = function(){
console.log('string changed');
};
var somestring = new myString('');
console.log(somestring.val()); // output ''
somestring.on('changed',doSomething);
somestring.change('new'); //output doSomething() -> 'string changed'
console.log(somestring.val()); //output 'new'