Field Class Publik dan Privat
Termasuk bagian Pemrograman Berorientasi Objek dalam perjalanan JavaScript di Coddy. Pelajaran 18 dari 56.
Dalam class JavaScript, kita dapat mendefinisikan dua jenis field class: publik dan privat.
Field publik dapat diakses dari luar class dan dapat digunakan oleh siapa pun.
Buat class dengan field publik:
class Student {
name = '';
grade = 0;
constructor(name, grade) {
this.name = name;
this.grade = grade;
}
}Buat sebuah instance siswa:
const student = new Student('Alice', 95);Akses field publik dari luar class:
console.log(student.name); // output: "Alice"
student.grade = 98;
console.log(student.grade); // output: 98Field privat ditandai dengan simbol # dan hanya dapat diakses dari dalam class:
class Student {
name = '';
#grade = 0;
constructor(name, grade) {
this.name = name;
this.#grade = grade;
}
getGrade() {
return this.#grade;
}
updateGrade(newGrade) {
this.#grade = newGrade;
}
}Menggunakan field privat:
const student = new Student('Bob', 87);
console.log(student.name); // output: "Bob"
// Akses field privat menggunakan method
console.log(student.getGrade()); // output: 87
// Perbarui field privat menggunakan method
student.updateGrade(92);
console.log(student.getGrade()); // output: 92
// Ini akan menyebabkan error:
// console.log(student.#grade); // SyntaxErrorTantangan
- Tambahkan dua field ke dalam class bernama UserAccount:
- Field publik
username - Field privat
#password
- Field publik
- Tambahkan constructor yang menerima parameter
usernamedanpassword
Coba sendiri
import { UserAccount } from './userAccount.js';
// Kode pengujian, jangan ubah
const user = new UserAccount("alice", "secret123");
console.log(user.username); // Seharusnya menghasilkan output "alice"
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