Sifat Statik dalam TypeScript
Mari kita lihat bagaimana untuk mengakses sifat statik di dalam objek.
Katakan kita mempunyai kelas berikut dengan sifat statik:
class User {
public name: string;
public static salary: number = 1000;
constructor(name: string) {
this.name = name;
}
}
Sekarang mari kita buat kaedah yang memaparkan gaji keseluruhan:
class User {
public name: string;
public static salary: number = 1000;
constructor(name: string) {
this.name = name;
}
getSalary(): number {
return User.salary; // mengakses melalui nama kelas
}
}
Sekarang mari kita buat kaedah yang mengubah gaji keseluruhan:
class User {
public name: string;
public static salary: number = 1000;
constructor(name: string) {
this.name = name;
}
getSalary(): number {
return User.salary;
}
setSalary(salary: number) {
User.salary = salary;
}
}
Sifat statik akan dikongsi bersama untuk objek yang berbeza. Ini bermakna, apabila sifat berubah dalam satu objek, ia akan berubah dalam objek yang lain juga. Mari kita semak ini.
Mari cipta dua objek dari kelas kami:
let user1: User = new User('john');
let user2: User = new User('eric');
Mari ubah gaji untuk pengguna pertama:
user1.setSalary(2000);
Mari semak sama ada gaji telah berubah untuk pengguna kedua:
console.log(user2.getSalary()); // 2000
Mari semak sama ada gaji juga telah berubah dalam sifat kelas itu sendiri:
console.log(User.salary); // 2000
Tambahkan sifat statik university
ke dalam kelas Student. Paparkan sifat ini
tanpa mengisytiharkan objek.