0
나는 여러 가지 공용 함수와 함께 사용하는 개인 함수가 있습니다. 기본적으로 public 함수는 객체에 무언가를 추가하는 단축키입니다. 마찬가지로 :. private 함수와 생성자에서 .bind 사용
function Basket() {
this.apple = [];
this.orange = [];
}
// Private
var _add = function (to) {
this[to].push(new Fruit(to));
}
// Public
Basket.prototype.addApple = function() {
_add.call(this, 'apple');
}
Basket.prototype.addOrange = function() {
_add.call(this, 'orange');
}
나는 .call
를 제거하고 대신 .bind
을 사용하고 싶습니다. 그러나 다음과 같이하면 :
var _add = function (to) {
this[to].push(new Fruit(to));
}.bind(Basket);
이것은 개체 인스턴스가 아닌 생성자 함수에 바인딩되므로 작동하지 않습니다.
실현할 수 있습니까? 또는 .call
을 더 잘 사용해야합니까? 아니면 내 디자인 패턴이 엉망이냐고?
예, 개인 기능을 개체에 추가하면 가능합니다. 하지만 난 이걸하고 싶지 않아. :) –
@distractedBySquirrels 아, 이제 네 질문이있어! –
@distractedBySquirrels 내가 편집했습니다. 너가 원하는게 그거야 ? –