2016-07-27 2 views
1

체인 패턴을 통해 함수를 구현하는 동안 함수가 외부 소스 (신뢰할 수없는 소스)에서 사용되는 경우 "this"객체를 반환하지 않는 것이 좋습니다. 대신 다음 코드와 같이 "this"를 반환해야합니다.자바 체인 연결 패턴은이 객체를 반환하는 대신 해당 객체를 반환합니다.

var calc = function (start){ 
     var that = this; 
     this.add = function(x){ 
     start = start + x; 
     return that; 
     }; 

     this.multiply= function(x){ 
      start = start * x; 
      return that; 
     }; 
    }; 

"this"대신 "that"을 반환하면 둘 다 동일한 참조가되므로 어떤 차이가 있습니까?

+0

예. 이 충고는 말이되지 않습니다. 그는 아마도'this' 참조를 잃어 버릴 생각을하고 있습니다 만,이 유스 케이스에서는 문제가되지 않습니다. – slebetman

+0

이 조언을 어디에서 읽었습니까? – Barmar

+0

는 aaron powell의 javascript 디자인 패턴에 대한 복수형 vedio를 발견했습니다. – Deathcr47

답변

관련 문제