프록시()
ECMAScript 6에서 도입된 새로운 기능 중 하나 프록시()입니다. 물체. 프록시() 개체는 기본 작업(예:속성 조회, 할당, 열거, 함수 호출 등)에 대한 사용자 지정 동작을 정의하는 데 사용됩니다.
프록시() 개체에는 3개의 핵심 용어가 포함됩니다.
1) 핸들러 - 트랩이 포함된 플레이스홀더 개체입니다.
2) 트랩 - 함정은 재산 접근을 제공합니다.
3) 타겟 - 프록시가 가상화하는 객체입니다.
구문
var p = new Proxy(target, handler);
다음 예에는 'p'라는 개체가 있으며 일부 속성이 있습니다. 객체에 정의되지 않은 속성을 실행하려고 하면 출력에 표시된 대로 undefined가 실행됩니다.
예시
<html> <body> <script> var p = { Name: 'Ram kumar', Age: 27 }; document.write(person.Name); document.write("</br>"); document.write(person.Age); document.write("</br>"); document.write(person.designation); </script> </body> </html>
출력
Ram kumar 27 undefined
proxy() 일 때 를 사용하면 정의되지 않은 출력을 제거할 수 있습니다. 프록시() "get을 사용하여 알 수 없는 속성을 트랩하려고 합니다. " 키워드. proxy() 내부에 정의된 핸들러 , 타겟 통과 "get " 함정.
다음 예에서 처음에 개체 'p'에는 지정 및 역할이 없습니다. 그러나 나중에 proxy() 'get을 사용하여 개체와 속성을 포착했습니다. ' 및 할당되지 않은 속성이 출력과 같이 표시되었습니다.
예시
<html> <body> <script> var p = { Name: 'Ram kumar', Age: 27 }; var handler = { get: function(target, prop) { return prop in target ? target[prop] : 'Content developer'; } }; var prox = new Proxy(p, handler); document.write(prox.Name); document.write("</br>"); document.write(prox.Age); document.write("</br>"); document.write(prox.designation); document.write("</br>"); document.write(prox.role); </script> </body> </html>
출력
Ram kumar 27 content developer content developer