Rumah  >  Artikel  >  hujung hadapan web  >  Mengapakah JavaScript menggunakan awalan garis bawah untuk kaedah dan pembolehubah \"peribadi\"?

Mengapakah JavaScript menggunakan awalan garis bawah untuk kaedah dan pembolehubah \"peribadi\"?

Linda Hamilton
Linda Hamiltonasal
2024-11-03 15:24:03367semak imbas

Why does JavaScript use an underscore prefix for

Memahami Kepentingan Awalan Underscore dalam JavaScript

Berbeza dengan kaedah kelas persendirian eksplisit Python, awalan garis bawah dalam JavaScript hanyalah konvensyen. JavaScript tidak mempunyai sebarang semantik yang wujud yang dilampirkan pada pengecam bermula dengan garis bawah.

Walau bagaimanapun, konvensyen ini mempunyai kepentingan praktikal dalam ketiadaan pengkapsulan asli JavaScript:

  • Dokumentasi: Garis bawah -pengecam awalan secara eksplisit menunjukkan elemen API bukan awam, tidak menggalakkan penggunaan sembarangan dari luar kelas pelaksana.
  • Kejelasan: Awalan meningkatkan kebolehbacaan kod dengan membezakan elemen peribadi daripada awam.
  • Niat: Ia menandakan bahawa pelaksanaan harus kekal disembunyikan untuk mengekalkan prinsip enkapsulasi.

Pertimbangkan contoh kod JavaScript:

function AltTabPopup() {
    this._init();
}

AltTabPopup.prototype = {
    _init : function() {
        ...
    }
}

Di sini, _init ialah kaedah persendirian yang bertujuan untuk digunakan hanya dalam kelas, manakala _currentApp, _currentWindow dan pembolehubah lain juga dianggap bukan awam.

Walaupun awalan garis bawah itu sendiri tidak menguatkuasakan privasi, ia berfungsi sebagai secara meluas konvensyen yang diterima yang menandakan dan menyampaikan tahap keterlihatan yang dimaksudkan oleh pengarang dalam pangkalan kod.

Atas ialah kandungan terperinci Mengapakah JavaScript menggunakan awalan garis bawah untuk kaedah dan pembolehubah \"peribadi\"?. 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