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