Computer >> คอมพิวเตอร์ >  >> การเขียนโปรแกรม >> Javascript

การใช้วัตถุ proxy () ใน JavaScript คืออะไร?


พร็อกซี()

หนึ่งในคุณสมบัติใหม่ที่นำเสนอโดย ECMAScript 6 คือ proxy() วัตถุ. Proxy() ออบเจ็กต์ใช้เพื่อกำหนดพฤติกรรมที่กำหนดเองสำหรับการดำเนินการพื้นฐาน (เช่น การค้นหาคุณสมบัติ การกำหนด การแจงนับ การเรียกใช้ฟังก์ชัน ฯลฯ)

พร็อกซี() วัตถุมี 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() จะผ่าน เป้าหมาย และชื่อคีย์ที่ร้องขอใน "รับ " กับดัก

ในตัวอย่างต่อไปนี้ในขั้นต้น วัตถุ '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