잡담소장소

[javascript] Proxy를 이용하여 watch 기능 구현 본문

Study ;3

[javascript] Proxy를 이용하여 watch 기능 구현

유부뽀 2020. 7. 9. 14:10

angularJS/angular에서 사용하던 watch 기능이 jquery를 쓰는 페이지에서도 필요하게 되서 검색해보니

Proxy를 통해서 구현하는 것을 확인하였다.

 

원하는 기능은 array형식의 변수에 개수의 사이즈가 1개이거나 0개가 될 경우, 특정 함수를 실행하고자 하는 것.

 

구현한 코드는 아래와 같다

var varWatch = new Proxy([], {
	get(target, property, value){
    	return target[property];
    },
    set(target, property, value){
    	if( property == 'length' ){
            if( value == 0 ){
            	// do action2
            } else if( value == 1 ){
            	// do action1
            }
        }
        //const oldValue = target[property];
        target[property] = value;
        return true;
	}
});

 

 

참고문헌:

https://developer.mozilla.org/ko/docs/Web/JavaScript/Reference/Global_Objects/Proxy

 

Proxy

Proxy 객체는 기본적인 동작(속성 접근, 할당, 순회, 열거, 함수 호출 등)의 새로운 행동을 정의할 때 사용합니다.

developer.mozilla.org

https://dev-momo.tistory.com/entry/javascript-ES6-Proxy

 

Javascript ES6 Proxy

여기저기서 자바스크립트의 새로운 표준인 ECMA2015(ES6) 문법이 많이 쓰이고 있다. arrow, spread부터 class까지 정말 다양한 스펙들이 추가되었다. 그 중에서 아무리 봐도 잘 이해가 안가는 객체가 있��

dev-momo.tistory.com

 

반응형
Comments