프록시()
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