Properti Privat dalam OOP di JavaScript

Properti objek yang dapat dibaca dan ditulis dari luar disebut publik. Ada juga properti privat, yang hanya akan dapat diakses di dalam kelas.

Nama properti privat harus dimulai dengan simbol #. Selain itu, properti seperti itu harus dideklarasikan di awal kode kelas. Mari kita lakukan ini:

javascriptclass User {
  #name;
}

Sekarang mari kita tulis data ke properti kita. Ini dapat dilakukan, misalnya, dalam konstruktor kelas:

javascriptclass User {
  #name;
  
  constructor(name) {
    this.#name = name;
  }
}

Sekarang mari buat metode yang akan mengembalikan nilai properti kita:

javascriptclass User {
  #name;
  
  constructor(name) {
    this.#name = name;
  }
  
  show() {
    return this.#name;
  }
}

Mari buat objek kelas, dengan mengirimkan nama pengguna sebagai parameter:

javascriptlet user = new User('john');

Upaya untuk mengakses langsung ke properti kita di luar kelas akan menyebabkan kesalahan:

javascriptconsole.log(user.#name); // error

Dan memanggil metode kita akan memungkinkan membaca properti ini:

javascriptconsole.log(user.show()); // akan menampilkan 'john'
Задание 1

Dalam kelas Employee buatlah tiga properti privat: nama, gaji, dan usia.

Задание 2

Kirimkan nilai properti ini sebagai parameter konstruktor.

Задание 3

Buat metode yang akan menampilkan data karyawan.