Menu
CoddyTech

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: 98

Field 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); // SyntaxError
challenge icon

Tantangan

  1. Tambahkan dua field ke dalam class bernama UserAccount:
    1. Field publik username
    2. Field privat #password
  2. Tambahkan constructor yang menerima parameter username dan password

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"

quiz iconUji dirimu

Pelajaran ini berisi kuis singkat. Mulai pelajarannya untuk menjawab kuis dan melacak progresmu.

Semua pelajaran di Pemrograman Berorientasi Objek

Latihan sendiri: Compiler JavaScript online