0
getter
과 setter
이 필요한 몇 가지 변수가 있습니다. 각각에 대해 새 클래스를 만드는 대신 하나의 클래스를 만들고 변수에 대한 해당 클래스의 인스턴스를 만들고 싶습니다.GetterSetter 클래스가 작동하지 않습니다.
다음은 시도한 코드입니다. 그러나 기본적으로 test
이 (가) undefined
이라는 오류가 발생합니다. 무엇이 잘못 되었습니까? 어떻게 해결할 수 있습니까? 또한, 이렇게하는 것이 일반적입니까? 올바른 접근 방법을 취하고 있습니까?
function GetterSetter(/** Any Value */ value, /** Function */ getter, /** Function */ setter) {
this.set = function(val) {
this.value = val;
typeof setter === 'function' && setter();
console.log('actual setter');
};
this.get = function() {
typeof getter === 'function' && getter();
console.log('actual getter');
return this.value;
};
(typeof value !== 'undefined' && value !== null) && this.set(value);
}
var test = GetterSetter('hello', function() {
console.log('custom getter');
}, function() {
console.log('custom setter');
});
이 실제 오류 메시지입니다 :
Uncaught TypeError: Cannot read property 'get' of undefined
빠른 답변 감사드립니다. (나는 그것을 어떻게 보지 못했을 것인가? lol) 좋은 습관인가? 그것을하는 것이 일반적입니까? – Jessica
JS good practice에서 "new' 키워드를 사용하고 있습니까?" 짧은 대답 : 아무 문제가 없으며 일반적인 패러다임입니다. 긴 대답 : 그것은 또 다른 질문입니다. 여기에 몇 가지 대답이 있습니다 : http://stackoverflow.com/questions/383402/is-javascripts-new-keyword-considered-harmful – Assimilater
@Assimilater 나는 GetterSetter 클래스를 잘 만들었습니다. 연습? – Jessica