Rumah  >  Artikel  >  hujung hadapan web  >  Terdapat beberapa jenis penghias dalam es6

Terdapat beberapa jenis penghias dalam es6

WBOY
WBOYasal
2022-04-25 18:55:481634semak imbas

Terdapat dua jenis penghias es6. Penghias hanya boleh digunakan untuk kelas dan kaedah kelas, jadi mereka boleh dibahagikan kepada: 1. Penghias kelas, digunakan untuk menghiasi keseluruhan kelas, sintaksnya ialah "@ nama fungsi" 2. Penghias kaedah kelas, digunakan untuk menghias kaedah kelas , sintaksnya ialah "@ nama kaedah nama fungsi".

Terdapat beberapa jenis penghias dalam es6

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

Terdapat beberapa jenis penghias es6

Terdapat dua jenis penghias es6.

Penghias ialah sintaks yang berkaitan dengan kelas, digunakan untuk menganotasi atau mengubah suai kaedah dan sifat berkaitan kelas. Banyak bahasa berorientasikan objek mempunyai ciri ini. Secara amnya berkaitan dengan kelas, jangan gunakan kaedah biasa.

Penghias ialah fungsi, ditulis @ nama fungsi. Ia boleh diletakkan sebelum definisi kelas dan kaedah kelas. Penghias adalah untuk melaksanakan fungsi dan menambah beberapa syarat kawalan ke kelas atau kaedah atribut di bawah kelas.

Penghias hanya boleh digunakan untuk kelas dan kaedah kelas, bukan fungsi kerana fungsi angkat.

1. Penghias kelas

Penghias kelas digunakan untuk menghiasi keseluruhan kelas

Contohnya seperti berikut:

@decorateClass
class Example {
    //...
}
 
function decorateClass(target) {
    target.isTestClass = true
}

Seperti di atas Dalam kod, penghias @decorateClass mengubah suai gelagat keseluruhan kelas Contoh dan menambah atribut statik isTestClass ke kelas Contoh. Penghias ialah fungsi. Sasaran parameter dalam fungsi decorateClass ialah kelas Contoh itu sendiri, yang juga setara dengan pembina kelas Example.prototype.constructor.

2

Penghias kaedah kelas digunakan untuk menghias kaedah kelas

Contohnya adalah seperti berikut:

class Example {
    @log
    instanceMethod() { }
 
    @log
    static staticMethod() { }
}
 
function log(target, methodName, descriptor) {
  const oldValue = descriptor.value;
 
  descriptor.value = function() {
    console.log(`Calling ${name} with`, arguments);
    return oldValue.apply(this, arguments);
  };
 
  return descriptor;
}
Seperti dalam kod di atas, penghias @log menghiasi kaedah instanceMethod dan kaedah statik staticMethod masing-masing. Fungsi penghias @log adalah untuk melaksanakan console.log untuk mengeluarkan log sebelum melakukan operasi asal.

[Cadangan berkaitan:

tutorial video javascript, bahagian hadapan web]

Atas ialah kandungan terperinci Terdapat beberapa jenis penghias dalam es6. 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