Statiese Eienskappe in TypeScript
Kom ons kyk hoe om na statiese eienskappe binne objekte te verwys.
Laat ons die volgende klas met 'n statiese eienskap hê:
class User {
public name: string;
public static salary: number = 1000;
constructor(name: string) {
this.name = name;
}
}
Kom ons maak nou 'n metode wat die totale salaris uitskryf:
class User {
public name: string;
public static salary: number = 1000;
constructor(name: string) {
this.name = name;
}
getSalary(): number {
return User.salary; // verwys na die klasnaam
}
}
Kom ons maak nou 'n metode wat die totale salaris verander:
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;
}
}
Statiese eienskappe sal gedeeld wees vir verskillende objekte. Dit beteken dat wanneer 'n eienskap in een objek verander word, dit ook in 'n ander sal verander. Kom ons toets dit.
Skep twee objekte van ons klas:
let user1: User = new User('john');
let user2: User = new User('eric');
Kom ons verander die salaris vir die eerste gebruiker:
user1.setSalary(2000);
Kom ons gaan na of die salaris ook vir die tweede gebruiker verander het:
console.log(user2.getSalary()); // 2000
Kom ons gaan na of die salaris ook in die eienskap van die klas self verander het:
console.log(User.salary); // 2000
Voeg 'n statiese eienskap university by die klas Student. Vertoon hierdie eienskap sonder om 'n objek te verklaar.