Rumah >hujung hadapan web >tutorial js >Biasa ini, Anak panah ini (Tersely bulleted)

Biasa ini, Anak panah ini (Tersely bulleted)

Susan Sarandon
Susan Sarandonasal
2025-01-23 04:30:09424semak imbas

Regular this, Arrow this (Tersely bulleted)

Rakan pembangun, saya mendapati kata kunci this JavaScript agak rumit, terutamanya dalam senario yang rumit. Untuk meningkatkan pemahaman saya dan memahami gelagatnya dengan cepat dalam pelbagai konteks (seperti semasa menyemak kod atau dokumentasi), saya mencipta rujukan ringkas ini.

Perkara penting yang perlu diingat tentang this:

  • Fungsi Biasa: Dalam penyemak imbas, fungsi biasa (function myFunction() {}) biasanya mempunyai this ditetapkan kepada objek window global. Dalam Node.js, ia adalah objek global. Ini berubah hanya apabila dipanggil dalam konteks tertentu:
    • Sebagai kaedah objek.
    • Terikat secara eksplisit menggunakan .bind(), .call() atau .apply().
  • Fungsi Anak Panah: Fungsi anak panah (() => {}) mewarisi this mereka daripada skop fungsi biasa di sekelilingnya (melampirkan) (leksikal this). Ini penting untuk difahami.
  • Skop Leksikal (Fungsi Anak Panah): this fungsi anak panah ditentukan pada masa penciptaannya, bukan pelaksanaan. Walaupun ia berada di dalam kaedah objek, thisnya datang daripada fungsi biasa yang terdekat.
  • Ketidakbolehubahan this: Fungsi anak panah mempunyai tetap, tidak berubah this, manakala fungsi biasa' this adalah dinamik dan boleh diubah menggunakan kaedah pengikatan.
  • Kaedah Kelas: Dalam kaedah kelas (sama ada biasa atau anak panah), this sentiasa merujuk kepada tika kelas yang dibuat menggunakan new MyClass(). Ini konsisten tanpa mengira jenis fungsi.

Jangan ragu untuk menyumbang, membetulkan sebarang ketidaktepatan atau menambah cerapan lanjut. Maklum balas yang membina sentiasa dihargai!

Atas ialah kandungan terperinci Biasa ini, Anak panah ini (Tersely bulleted). 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