Akses modifier di TypeScript

Akses modifier dalam TypeScript adalah fitur yang digunakan untuk mengontrol akses ke properti dan metode dalam sebuah kelas. Ada tiga jenis akses modifier yang dapat digunakan dalam TypeScript:

  1. Public:

    • Default jika tidak ada akses modifier yang ditentukan.

    • Properti atau metode dengan akses modifier public dapat diakses dari mana saja, baik dari dalam kelas itu sendiri maupun dari luar kelas.

    • Contoh penggunaan akses modifier public:

      class Person {
          public name: string;
      
          constructor(name: string) {
              this.name = name;
          }
      }
      
      let person = new Person("Alice");
      console.log(person.name); // Output: Alice
  2. Private:

    • Properti atau metode dengan akses modifier private hanya dapat diakses dari dalam kelas itu sendiri.

    • Properti atau metode private tidak dapat diakses dari luar kelas, termasuk dari kelas turunan.

    • Contoh penggunaan akses modifier private:

      class Person {
          private age: number;
      
          constructor(age: number) {
              this.age = age;
          }
      
          getAge(): number {
              return this.age;
          }
      }
      
      let person = new Person(30);
      console.log(person.age); // Error: Property 'age' is private and only accessible within class 'Person'
      console.log(person.getAge()); // Output: 30
  3. Protected:

    • Properti atau metode dengan akses modifier protected dapat diakses dari dalam kelas itu sendiri dan kelas turunannya.

    • Properti atau metode protected tidak dapat diakses dari luar kelas atau kelas turunannya.

    • Contoh penggunaan akses modifier protected:

      class Person {
          protected gender: string;
      
          constructor(gender: string) {
              this.gender = gender;
          }
      }
      
      class Employee extends Person {
          constructor(gender: string) {
              super(gender);
          }
      
          getGender(): string {
              return this.gender;
          }
      }
      
      let employee = new Employee("male");
      console.log(employee.getGender()); // Output: male
      console.log(employee.gender); // Error: Property 'gender' is protected and only accessible within class 'Person' and its subclasses

Dengan menggunakan akses modifier, dapat mengatur tingkat akses ke properti dan metode dalam sebuah kelas sesuai dengan kebutuhan aplikasi.

Sumber:

Last updated