Rumah  >  Artikel  >  hujung hadapan web  >  Proksi dalam JavaScript

Proksi dalam JavaScript

王林
王林asal
2024-07-19 19:15:37371semak imbas

A Proxy in JavaScript

Proksi dalam JavaScript ialah objek khas yang membolehkan anda menyesuaikan gelagat operasi asas (cth., carian harta, tugasan, penghitungan, panggilan fungsi, dll.) pada objek lain. Ia seperti mempunyai orang tengah yang nakal yang boleh memintas dan mengubah interaksi dengan objek.

Mengapa Kita Memerlukan Proksi?

Proksi berguna untuk pelbagai sebab:

  1. Pengesahan: Pastikan integriti data dengan mengesahkan tugasan.
    Pengelogan: Jejaki operasi pada objek untuk nyahpepijat atau pemantauan.

  2. Nilai Lalai: Berikan nilai lalai apabila sifat diakses.

  3. Kawalan Akses: Hadkan atau ubah suai akses kepada sifat tertentu.

  4. Sifat Maya: Tentukan sifat yang tidak wujud secara fizikal pada objek.

Contoh Lucu untuk Memahami Proksi

Contoh 1: Ibu Bapa Terlalu Melindungi

Bayangkan anda mempunyai anak bernama Timmy, dan anda ingin memastikan dia tidak makan terlalu banyak biskut. Anda bertindak sebagai ibu bapa yang terlalu melindungi, memantau dan mengawal pengambilan kukinya.

let timmy = {
  cookies: 3
};

let overprotectiveParent = new Proxy(timmy, {
  get(target, property) {
    console.log(`Overprotective Parent: "Timmy currently has ${target[property]} ${property}."`);
    return target[property];
  },
  set(target, property, value) {
    if (property === 'cookies' && value > 5) {
      console.log('Overprotective Parent: "No, Timmy, you can’t have more than 5 cookies!"');
      return false;
    }
    console.log(`Overprotective Parent: "Alright, Timmy, you can have ${value} ${property}."`);
    target[property] = value;
    return true;
  }
});

// Checking Timmy's cookies
console.log(overprotectiveParent.cookies); // Overprotective Parent: "Timmy currently has 3 cookies."

// Trying to give Timmy too many cookies
overprotectiveParent.cookies = 6; // Overprotective Parent: "No, Timmy, you can’t have more than 5 cookies!"

// Setting a reasonable number of cookies
overprotectiveParent.cookies = 4; // Overprotective Parent: "Alright, Timmy, you can have 4 cookies."
console.log(overprotectiveParent.cookies); // Overprotective Parent: "Timmy currently has 4 cookies."

Atas ialah kandungan terperinci Proksi dalam JavaScript. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Artikel sebelumnya:Nombor Bertuah dalam MatriksArtikel seterusnya:Nombor Bertuah dalam Matriks