Method Privat
Termasuk bagian Pemrograman Berorientasi Objek dalam perjalanan JavaScript di Coddy. Pelajaran 19 dari 56.
method privat dalam class JavaScript memungkinkan kamu menyembunyikan detail implementasi dan mencegah akses eksternal ke fungsionalitas internal.
Mulai dari ES2022, method privat dapat didefinisikan menggunakan awalan #:
class Counter {
#count = 0;
// Buat method privat
#increment() {
this.#count++;
}
// Method publik yang menggunakan method privat
addOne() {
this.#increment();
return this.#count;
}
}Mari buat sebuah instance Counter:
const myCounter = new Counter();Kita dapat memanggil method publik:
console.log(myCounter.addOne()); // output: 1Namun, mencoba mengakses method privat secara langsung akan menyebabkan error:
myCounter.#increment(); // Error: method privat tidak dapat diakses dari luar classmethod privat membantu menjaga enkapsulasi dengan menyembunyikan detail implementasi internal dari dunia luar.
Tantangan
Kamu diberi sebuah class MessageBox yang menyimpan pesan. Tugasmu adalah menambahkan method privat bernama #isValidMessage(text) yang memvalidasi pesan. Method ini harus:
- Mengembalikan
truejika teks tidak kosong dan panjangnya kurang dari 100 karakter - Mengembalikan
falsejika tidak
Coba sendiri
import { MessageBox } from './messageBox.js';
// Menggunakan kotak pesan
const box = new MessageBox();
console.log(box.setMessage("Hello")); // "Message set!" (menggunakan #isValidMessage)
console.log(box.setMessage("")); // "Invalid message!" (menggunakan #isValidMessage)
Pelajaran ini berisi kuis singkat. Mulai pelajarannya untuk menjawab kuis dan melacak progresmu.
Semua pelajaran di Pemrograman Berorientasi Objek
1Object dan Kata Kunci this
Tinjauan Singkat: objectMenambahkan method ke objectMemahami Kata Kunci thisFungsi KonstruktorKata Kunci newTantangan Rangkuman7Pewarisan & Kata Kunci extends
PewarisanHubungan "is-a"Kata Kunci extendsmethod super()Mewarisi property & methodTantangan Rangkuman2Mengatur Kode
Apa itu module?Mengekspor dengan exportMengimpor dengan importEkspor default vs. ekspor bernama8Mengatur Kode OOP
Mengatur class ke dalam module11Proyek: Perender Bentuk
Penyiapan: class Shape & EksporPewarisan class CircleOverride & Method LuasPenghitung Shape Statis14Sistem Manajemen Perpustakaan
Merancang PerpustakaanClass Book dengan CompositionValidasi Penulis Buku9Method dan property Statis
Level class vs. level instanceProperty StatisMethod Utilitas StatisTantangan RangkumanLatihan sendiri: Compiler JavaScript online