พร็อกซี()
หนึ่งในคุณสมบัติใหม่ที่นำเสนอโดย 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