Proksi dalam JavaScript

王林
Lepaskan: 2024-07-19 19:15:37
asal
370 orang telah melayarinya

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."
Salin selepas log masuk

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

sumber:dev.to
Kenyataan Laman Web ini
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
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan
Tentang kita Penafian Sitemap
Laman web PHP Cina:Latihan PHP dalam talian kebajikan awam,Bantu pelajar PHP berkembang dengan cepat!