Rumah > hujung hadapan web > Soal Jawab bahagian hadapan > Apakah penggunaan proksi dalam es6

Apakah penggunaan proksi dalam es6

WBOY
Lepaskan: 2022-05-05 15:56:59
asal
2109 orang telah melayarinya

Dalam ES6, proksi digunakan untuk memintas operasi tertentu pada objek, dan boleh menapis dan menulis semula akses luar Proksi menyediakan lapisan "pemintasan" di hadapan objek sasaran untuk menghalang akses luaran kepada objek . Semua mesti melepasi lapisan pemintasan ini, dan sintaksnya ialah "Proksi baharu(sasaran, pengendali);".

Apakah penggunaan proksi dalam es6

Persekitaran pengendalian tutorial ini: sistem Windows 10, ECMAScript versi 6.0, komputer Dell G3.

Apakah penggunaan proksi dalam es6?

Proksi boleh difahami sebagai menyediakan lapisan "pemintasan" sebelum objek sasaran mesti melalui lapisan ini terlebih dahulu daripada pemintasan. Oleh itu, satu mekanisme disediakan untuk menapis dan menulis semula akses luaran. Makna asal perkataan Proksi ialah agensi Ia digunakan di sini untuk bermaksud bahawa ia "bertindak bagi pihak" operasi tertentu. Berikut ialah definisi proksi daripada dokumentasi rasmi.

let p = new Proxy(target, handler);
Salin selepas log masuk

sasaran: Objek sasaran yang perlu dibalut oleh Proksi (boleh jadi sebarang jenis objek, termasuk tatasusunan asli, fungsi atau proksi lain).

pengendali: Objek yang sifatnya ialah fungsi yang mentakrifkan gelagat ejen apabila operasi dilakukan (boleh difahami sebagai sejenis pencetus).

ES6 mencadangkan ciri baharu, proksi, yang digunakan untuk memintas operasi tertentu pada objek. Fungsi ini sangat berguna. Untuk memberi contoh:

var engineer = { name: 'Joe Sixpack', salary: 50 };
var interceptor = {
 set: function (receiver, property, value) {
  console.log(property, 'is changed to', value);
  receiver[property] = value;
 }
};
engineer = Proxy(engineer, interceptor);
Salin selepas log masuk

Objek jurutera digantikan dengan objek proksi yang dibina oleh Proksi proksi Parameter kedua yang dihantar ke Proksi ialah fungsi pemproses , seperti dapatkan, set dan kaedah lain. Kaedah yang ditetapkan di sini boleh memintas semua operasi penetapan harta yang dilakukan pada objek proksi.

Apabila kami melaksanakan tugasan berikut:

engineer.salary = 60;
Salin selepas log masuk

akan mencetuskan pemproses dan maklumat output:

salary is changed to 60
Salin selepas log masuk

Apabila objek proksi ditetapkan, fungsi pemproses akan Dipanggil supaya ia boleh digunakan untuk menyahpepijat masalah tertentu.

Sudah tentu, Proksi tidak dilahirkan hanya untuk penyahpepijatan Jika anda telah menggunakan Sencha Touch atau AngularJS, anda akan mendapati bahawa rangka kerja ini mempunyai fungsi yang serupa dengan pengikatan model data.

Pengarang telah menggunakan proksi dalam Sencha Touch Kodnya adalah seperti berikut:

proxy:{//数据代理
//       type:'localstorage',
//       id:'bills',
    // limitParam:'limit',
    // pageParam:'page',
    //将用户代理改为sql,通过websql来解决localstorage的5MB存储上限的问题
    type:'sql',
    database:'myDB',
    table:'bill',
},
//filters:[{property:"kind",value:"无"}],//过滤属性
listeners:{
    removerecords:function(){
      console.log("数据被删除");
    },
    addrecords:function(){
      console.log("数据被追加");
    },
    updaterecord:function(){
      console.log("数据被修改");
    },
}
Salin selepas log masuk

Seperti yang anda lihat, ia menggunakan kaedah pemantauan setter dan getter, manakala Angular menggunakan The. satu adalah pengesanan kotor. . Apabila kami mempunyai Proksi, kaedah pengesanan khusus ini boleh dipermudahkan untuk pengikatan model data ringkas.

[Cadangan berkaitan: tutorial video javascript, bahagian hadapan web]

Atas ialah kandungan terperinci Apakah penggunaan proksi dalam es6. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Label berkaitan:
es6
sumber:php.cn
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